MDL-47153 tool_monitor: altered unit tests to pass

This commit is contained in:
Mark Nelson 2014-10-11 17:35:30 -07:00
parent 11c2bf3f73
commit 8a0c649637
3 changed files with 34 additions and 30 deletions

View file

@ -46,16 +46,17 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
$this->resetAfterTest(true); $this->resetAfterTest(true);
$user = $this->getDataGenerator()->create_user(); $user = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course(); $course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor'); $monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor');
$rule = new stdClass(); $rule = new stdClass();
$rule->userid = $user->id; $rule->userid = $user->id;
$rule->courseid = $course->id; $rule->courseid = $course1->id;
$rule->plugin = 'test'; $rule->plugin = 'test';
$sub = new stdClass(); $sub = new stdClass();
$sub->courseid = $course->id; $sub->courseid = $course1->id;
$sub->userid = $user->id; $sub->userid = $user->id;
// Add 10 rules for this course with subscriptions. // Add 10 rules for this course with subscriptions.
@ -65,9 +66,9 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
$monitorgenerator->create_subscription($sub); $monitorgenerator->create_subscription($sub);
} }
// Add 10 random rules for random courses. // Add 10 random rules for course 2.
$rule->courseid = $course2->id;
for ($i = 0; $i < 10; $i++) { for ($i = 0; $i < 10; $i++) {
$rule->courseid = rand(10000000, 50000000);
$createdrule = $monitorgenerator->create_rule($rule); $createdrule = $monitorgenerator->create_rule($rule);
$sub->courseid = $rule->courseid; $sub->courseid = $rule->courseid;
$sub->ruleid = $createdrule->id; $sub->ruleid = $createdrule->id;
@ -77,24 +78,24 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
// Verify data before course delete. // Verify data before course delete.
$totalrules = \tool_monitor\rule_manager::get_rules_by_plugin('test'); $totalrules = \tool_monitor\rule_manager::get_rules_by_plugin('test');
$this->assertCount(20, $totalrules); $this->assertCount(20, $totalrules);
$courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course->id); $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id);
$this->assertCount(10, $courserules); $this->assertCount(10, $courserules);
$totalsubs = $DB->get_records('tool_monitor_subscriptions'); $totalsubs = $DB->get_records('tool_monitor_subscriptions');
$this->assertCount(20, $totalsubs); $this->assertCount(20, $totalsubs);
$coursesubs = \tool_monitor\subscription_manager::get_user_subscriptions_for_course($course->id, 0, 0, $user->id); $coursesubs = \tool_monitor\subscription_manager::get_user_subscriptions_for_course($course1->id, 0, 0, $user->id);
$this->assertCount(10, $coursesubs); $this->assertCount(10, $coursesubs);
// Let us delete the course now. // Let us delete the course now.
delete_course($course->id, false); delete_course($course1->id, false);
// Verify data after course delete. // Verify data after course delete.
$totalrules = \tool_monitor\rule_manager::get_rules_by_plugin('test'); $totalrules = \tool_monitor\rule_manager::get_rules_by_plugin('test');
$this->assertCount(10, $totalrules); $this->assertCount(10, $totalrules);
$courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course->id); $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id);
$this->assertCount(0, $courserules); // Making sure all rules are deleted. $this->assertCount(0, $courserules); // Making sure all rules are deleted.
$totalsubs = $DB->get_records('tool_monitor_subscriptions'); $totalsubs = $DB->get_records('tool_monitor_subscriptions');
$this->assertCount(10, $totalsubs); $this->assertCount(10, $totalsubs);
$coursesubs = \tool_monitor\subscription_manager::get_user_subscriptions_for_course($course->id, 0, 0, $user->id); $coursesubs = \tool_monitor\subscription_manager::get_user_subscriptions_for_course($course1->id, 0, 0, $user->id);
$this->assertCount(0, $coursesubs); // Making sure all subscriptions are deleted. $this->assertCount(0, $coursesubs); // Making sure all subscriptions are deleted.
} }
@ -374,16 +375,17 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
$this->resetAfterTest(true); $this->resetAfterTest(true);
$user = $this->getDataGenerator()->create_user(); $user = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course(); $course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor'); $monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor');
$rule = new stdClass(); $rule = new stdClass();
$rule->userid = $user->id; $rule->userid = $user->id;
$rule->courseid = $course->id; $rule->courseid = $course1->id;
$rule->plugin = 'test'; $rule->plugin = 'test';
$sub = new stdClass(); $sub = new stdClass();
$sub->courseid = $course->id; $sub->courseid = $course1->id;
$sub->userid = $user->id; $sub->userid = $user->id;
// Add 10 rules for this course with subscriptions. // Add 10 rules for this course with subscriptions.
@ -393,9 +395,9 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
$monitorgenerator->create_subscription($sub); $monitorgenerator->create_subscription($sub);
} }
// Add 10 random rules for random courses. // Add 10 random rules for course 2.
$rule->courseid = $course2->id;
for ($i = 0; $i < 10; $i++) { for ($i = 0; $i < 10; $i++) {
$rule->courseid = rand(10000000, 50000000);
$createdrule = $monitorgenerator->create_rule($rule); $createdrule = $monitorgenerator->create_rule($rule);
$sub->courseid = $rule->courseid; $sub->courseid = $rule->courseid;
$sub->ruleid = $createdrule->id; $sub->ruleid = $createdrule->id;
@ -428,21 +430,22 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
$this->resetAfterTest(true); $this->resetAfterTest(true);
$user = $this->getDataGenerator()->create_user(); $user = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course(); $course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor'); $monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor');
// Now let us create a rule specific to a module instance. // Now let us create a rule specific to a module instance.
$cm = new stdClass(); $cm = new stdClass();
$cm->course = $course->id; $cm->course = $course1->id;
$book = $this->getDataGenerator()->create_module('book', $cm); $book = $this->getDataGenerator()->create_module('book', $cm);
$rule = new stdClass(); $rule = new stdClass();
$rule->userid = $user->id; $rule->userid = $user->id;
$rule->courseid = $course->id; $rule->courseid = $course1->id;
$rule->plugin = 'test'; $rule->plugin = 'test';
$sub = new stdClass(); $sub = new stdClass();
$sub->courseid = $course->id; $sub->courseid = $course1->id;
$sub->userid = $user->id; $sub->userid = $user->id;
$sub->cmid = $book->cmid; $sub->cmid = $book->cmid;
@ -453,9 +456,9 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase {
$monitorgenerator->create_subscription($sub); $monitorgenerator->create_subscription($sub);
} }
// Add 10 random rules for random courses. // Add 10 random rules for course 2.
$rule->courseid = $course2->id;
for ($i = 0; $i < 10; $i++) { for ($i = 0; $i < 10; $i++) {
$rule->courseid = rand(10000000, 50000000);
$createdrule = $monitorgenerator->create_rule($rule); $createdrule = $monitorgenerator->create_rule($rule);
$sub->courseid = $rule->courseid; $sub->courseid = $rule->courseid;
$sub->ruleid = $createdrule->id; $sub->ruleid = $createdrule->id;

View file

@ -108,11 +108,14 @@ class tool_monitor_rule_manager_testcase extends advanced_testcase {
$monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor'); $monitorgenerator = $this->getDataGenerator()->get_plugin_generator('tool_monitor');
$course1 = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$record = new stdClass(); $record = new stdClass();
$record->courseid = 3; $record->courseid = $course1->id;
$record2 = new stdClass(); $record2 = new stdClass();
$record2->courseid = 4; $record2->courseid = $course2->id;
$ruleids = array(); $ruleids = array();
for ($i = 0; $i < 10; $i++) { for ($i = 0; $i < 10; $i++) {
@ -122,7 +125,7 @@ class tool_monitor_rule_manager_testcase extends advanced_testcase {
$ruleids[] = $rule->id; $ruleids[] = $rule->id;
$rule = $monitorgenerator->create_rule($record2); // Create rules in a different course. $rule = $monitorgenerator->create_rule($record2); // Create rules in a different course.
} }
$ruledata = \tool_monitor\rule_manager::get_rules_by_courseid(3); $ruledata = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id);
$this->assertEquals($ruleids, array_keys($ruledata)); $this->assertEquals($ruleids, array_keys($ruledata));
$this->assertCount(20, $ruledata); $this->assertCount(20, $ruledata);
} }

View file

@ -114,13 +114,11 @@ class tool_monitor_task_clean_events_testcase extends advanced_testcase {
\mod_scorm\event\course_module_instance_list_viewed::create($eventparams)->trigger(); \mod_scorm\event\course_module_instance_list_viewed::create($eventparams)->trigger();
} }
// Check that there are a bunch of events now. There will be additional events for creating courses and modules. // Check that the events exist - there will be additional events for creating courses, modules and rules.
$this->assertEquals(20, $DB->count_records('tool_monitor_events')); $this->assertEquals(26, $DB->count_records('tool_monitor_events'));
// Run the task and check that all the mod_quiz/mod_scorm events are removed as well as the course_module_* // Run the task and check that all the quiz, scorm and rule events are removed as well as the course_module_*
// viewed events in the second course. The chapter_viewed event in the second course should remain though as // viewed events in the second course.
// there is a rule associated with that event in that course. The chapter_viewed event in the first course
// should also remain as there is a site wide rule.
$task = new \tool_monitor\task\clean_events(); $task = new \tool_monitor\task\clean_events();
$task->execute(); $task->execute();