From 0429a7637044017decd37cac9045842aec6b55fe Mon Sep 17 00:00:00 2001 From: Ben Kelada Date: Tue, 6 Oct 2015 15:09:42 +1100 Subject: [PATCH 1/2] MDL-51673 messages: remove strict type check of int vs string --- message/lib.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/message/lib.php b/message/lib.php index 2ada6b36744..3b26e285c9e 100644 --- a/message/lib.php +++ b/message/lib.php @@ -988,7 +988,7 @@ function message_add_contact($contactid, $blocked=0) { // Check if a record already exists as we may be changing blocking status. if (($contact = $DB->get_record('message_contacts', array('userid' => $USER->id, 'contactid' => $contactid))) !== false) { // Check if blocking status has been changed. - if ($contact->blocked !== $blocked) { + if ($contact->blocked != $blocked) { $contact->blocked = $blocked; $DB->update_record('message_contacts', $contact); From 61ba945d8db363eac663028b2e1553962be170b0 Mon Sep 17 00:00:00 2001 From: Jun Pataleta Date: Fri, 16 Oct 2015 16:05:30 -0500 Subject: [PATCH 2/2] MDL-51673 messages: Added codes for the unit tests --- message/tests/events_test.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/message/tests/events_test.php b/message/tests/events_test.php index 0a8699e65b9..efc0f9ad595 100644 --- a/message/tests/events_test.php +++ b/message/tests/events_test.php @@ -119,6 +119,15 @@ class core_message_events_testcase extends advanced_testcase { $url = new moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid)); $this->assertEquals($url, $event->get_url()); + // Make sure that the contact blocked event is not triggered again. + $sink->clear(); + message_block_contact($user->id); + $events = $sink->get_events(); + $event = reset($events); + $this->assertEmpty($event); + // Make sure that we still have 1 blocked user. + $this->assertEquals(1, message_count_blocked_users()); + // Now blocking a user that is not a contact. $sink->clear(); message_block_contact($user2->id); @@ -147,6 +156,11 @@ class core_message_events_testcase extends advanced_testcase { // Add the user to the admin's contact list. message_add_contact($user->id); + // Block the user. + message_block_contact($user->id); + // Make sure that we have 1 blocked user. + $this->assertEquals(1, message_count_blocked_users()); + // Trigger and capture the event when unblocking a contact. $sink = $this->redirectEvents(); message_unblock_contact($user->id); @@ -160,6 +174,19 @@ class core_message_events_testcase extends advanced_testcase { $this->assertEventLegacyLogData($expected, $event); $url = new moodle_url('/message/index.php', array('user1' => $event->userid, 'user2' => $event->relateduserid)); $this->assertEquals($url, $event->get_url()); + + // Make sure that we have no blocked users. + $this->assertEmpty(message_count_blocked_users()); + + // Make sure that the contact unblocked event is not triggered again. + $sink->clear(); + message_unblock_contact($user->id); + $events = $sink->get_events(); + $event = reset($events); + $this->assertEmpty($event); + + // Make sure that we still have no blocked users. + $this->assertEmpty(message_count_blocked_users()); } /**