From 8145ab3372b2cc0c75ba2fa5fcc3f7732b4d0109 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Fri, 7 Nov 2014 23:50:20 -0800 Subject: [PATCH] MDL-48107 tool_monitor: extended automated tests Also adjusted them so they will pass with these changes. --- admin/tool/monitor/tests/behat/rule.feature | 4 ++-- .../monitor/tests/behat/subscription.feature | 4 ++-- .../monitor/tests/eventobservers_test.php | 24 ++++++++++++++----- 3 files changed, 22 insertions(+), 10 deletions(-) diff --git a/admin/tool/monitor/tests/behat/rule.feature b/admin/tool/monitor/tests/behat/rule.feature index bd9ff74bf74..6f803e641af 100644 --- a/admin/tool/monitor/tests/behat/rule.feature +++ b/admin/tool/monitor/tests/behat/rule.feature @@ -69,7 +69,7 @@ Feature: tool_monitor_rule And I follow "Course 1" And I navigate to "Event monitoring rules" node in "Course administration > Reports" When I click on "Delete rule" "link" - Then I should see "Are you sure you want to delete rule \"New rule course level\"?" + Then I should see "Are you sure you want to delete the rule \"New rule course level\"?" And I press "Continue" And I should see "Rule successfully deleted" And I should not see "New rule course level" @@ -129,7 +129,7 @@ Feature: tool_monitor_rule Given I log in as "admin" And I navigate to "Event monitoring rules" node in "Site administration > Reports" When I click on "Delete rule" "link" - Then I should see "Are you sure you want to delete rule \"New rule site level\"?" + Then I should see "Are you sure you want to delete the rule \"New rule site level\"?" And I press "Continue" And I should see "Rule successfully deleted" And I should not see "New rule site level" diff --git a/admin/tool/monitor/tests/behat/subscription.feature b/admin/tool/monitor/tests/behat/subscription.feature index cecba4e7d73..253689ce343 100644 --- a/admin/tool/monitor/tests/behat/subscription.feature +++ b/admin/tool/monitor/tests/behat/subscription.feature @@ -70,7 +70,7 @@ Feature: tool_monitor_subscriptions And I follow "Subscribe to rule \"New rule course level\"" And I should see "Subscription successfully created" When I click on "Delete subscription" "link" in the "New rule course level" "table_row" - And I should see "Are you sure you want to delete this subscription for the rule \"New rule course level\"?" + And I should see "Are you sure you want to delete the subscription to the rule \"New rule course level\"?" And I press "Continue" Then I should see "Subscription successfully removed" And "#toolmonitorsubs_r0" "css_element" should not exist @@ -91,7 +91,7 @@ Feature: tool_monitor_subscriptions And I should see "Subscription successfully created" And "#toolmonitorsubs_r0" "css_element" should exist When I click on "Delete subscription" "link" in the "New rule site level" "table_row" - And I should see "Are you sure you want to delete this subscription for the rule \"New rule site level\"?" + And I should see "Are you sure you want to delete the subscription to the rule \"New rule site level\"?" And I press "Continue" Then I should see "Subscription successfully removed" And "#toolmonitorsubs_r0" "css_element" should not exist diff --git a/admin/tool/monitor/tests/eventobservers_test.php b/admin/tool/monitor/tests/eventobservers_test.php index 6014ab3ee5a..73b684ffb63 100644 --- a/admin/tool/monitor/tests/eventobservers_test.php +++ b/admin/tool/monitor/tests/eventobservers_test.php @@ -82,26 +82,38 @@ class tool_monitor_eventobservers_testcase extends advanced_testcase { $monitorgenerator->create_subscription($sub); } + // Add a site rule. + $rule = new stdClass(); + $rule->userid = $user->id; + $rule->courseid = 0; + $rule->plugin = 'core'; + $monitorgenerator->create_rule($rule); + + // Verify that if we do not specify that we do not want the site rules, they are returned. + $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id); + $this->assertCount(11, $courserules); + // Verify data before course delete. $totalrules = \tool_monitor\rule_manager::get_rules_by_plugin('test'); $this->assertCount(20, $totalrules); - $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id); + $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id, 0, 0, false); $this->assertCount(10, $courserules); - $totalsubs = $DB->get_records('tool_monitor_subscriptions'); - $this->assertCount(20, $totalsubs); + $this->assertEquals(20, $DB->count_records('tool_monitor_subscriptions')); $coursesubs = \tool_monitor\subscription_manager::get_user_subscriptions_for_course($course1->id, 0, 0, $user->id); $this->assertCount(10, $coursesubs); // Let us delete the course now. delete_course($course1->id, false); + // Confirm the site rule still exists. + $this->assertEquals(1, $DB->count_records('tool_monitor_rules', array('courseid' => 0))); + // Verify data after course delete. $totalrules = \tool_monitor\rule_manager::get_rules_by_plugin('test'); $this->assertCount(10, $totalrules); - $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id); + $courserules = \tool_monitor\rule_manager::get_rules_by_courseid($course1->id, 0, 0, false); $this->assertCount(0, $courserules); // Making sure all rules are deleted. - $totalsubs = $DB->get_records('tool_monitor_subscriptions'); - $this->assertCount(10, $totalsubs); + $this->assertEquals(10, $DB->count_records('tool_monitor_subscriptions')); $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. }