mirror of
https://github.com/moodle/moodle.git
synced 2025-08-08 10:26:40 +02:00
MDL-47153 tool_monitor: altered unit tests to pass
This commit is contained in:
parent
11c2bf3f73
commit
8a0c649637
3 changed files with 34 additions and 30 deletions
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue