MDL-62393 message: Fix random unit test fails

This commit is contained in:
Andrew Nicols 2018-05-12 22:53:58 +08:00
parent ab65b87f3d
commit 823e08bf9d

View File

@ -210,6 +210,7 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$writer = writer::with_context(\context_system::instance());
$contacts = (array) $writer->get_data([get_string('contacts', 'core_message')]);
usort($contacts, ['static', 'sort_contacts']);
$this->assertCount(3, $contacts);
@ -274,6 +275,7 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$dbm2 = $DB->get_record('messages', ['id' => $m2]);
$dbm3 = $DB->get_record('messages', ['id' => $m3]);
usort($messages, ['static', 'sort_messages']);
$m1 = array_shift($messages);
$m2 = array_shift($messages);
$m3 = array_shift($messages);
@ -303,6 +305,7 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$dbm5 = $DB->get_record('messages', ['id' => $m5]);
$dbm6 = $DB->get_record('messages', ['id' => $m6]);
usort($messages, ['static', 'sort_messages']);
$m4 = array_shift($messages);
$m5 = array_shift($messages);
$m6 = array_shift($messages);
@ -584,4 +587,26 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
return $DB->insert_record('notifications', $record);
}
/**
* Comparison function for sorting messages.
*
* @param \stdClass $a
* @param \stdClass $b
* @return bool
*/
protected static function sort_messages($a, $b) {
return $a->message > $b->message;
}
/**
* Comparison function for sorting contacts.
*
* @param \stdClass $a
* @param \stdClass $b
* @return bool
*/
protected static function sort_contacts($a, $b) {
return $a->contact > $b->contact;
}
}