MDL-63712 core_message: Unit test improvements for fetching context/user

This issue is part of the MDL-62560 Epic.
This commit is contained in:
Michael Hawkins
2018-11-01 16:55:16 +08:00
parent a05d4df146
commit 9898c108a3
+99
View File
@@ -178,6 +178,12 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$user1 = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
// Test nothing is found before message is sent.
$contextlist = provider::get_contexts_for_userid($user1->id);
$this->assertCount(0, $contextlist);
$contextlist = provider::get_contexts_for_userid($user2->id);
$this->assertCount(0, $contextlist);
$this->create_message_or_notification($user1->id, $user2->id, time() - (9 * DAYSECS));
// Test for the sender.
@@ -202,6 +208,12 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$user1 = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
// Test nothing is found before notification is created.
$contextlist = provider::get_contexts_for_userid($user1->id);
$this->assertCount(0, $contextlist);
$contextlist = provider::get_contexts_for_userid($user2->id);
$this->assertCount(0, $contextlist);
$this->create_message_or_notification($user1->id, $user2->id, time() - (9 * DAYSECS), true);
// Test for the sender.
@@ -221,6 +233,40 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$contextforuser->id);
}
/**
* Test for provider::get_contexts_for_userid() when a users has a contact.
*/
public function test_get_contexts_for_userid_with_contact() {
$this->resetAfterTest();
$user1 = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
// Test nothing is found before contact is created.
$contextlist = provider::get_contexts_for_userid($user1->id);
$this->assertCount(0, $contextlist);
$contextlist = provider::get_contexts_for_userid($user2->id);
$this->assertCount(0, $contextlist);
message_add_contact($user2->id, 0, $user1->id);
// Test for the user adding the contact.
$contextlist = provider::get_contexts_for_userid($user1->id);
$this->assertCount(1, $contextlist);
$contextforuser = $contextlist->current();
$this->assertEquals(
context_user::instance($user1->id)->id,
$contextforuser->id);
// Test for the user who is the contact.
$contextlist = provider::get_contexts_for_userid($user2->id);
$this->assertCount(1, $contextlist);
$contextforuser = $contextlist->current();
$this->assertEquals(
context_user::instance($user2->id)->id,
$contextforuser->id);
}
/**
* Test for provider::export_user_data().
*/
@@ -609,6 +655,14 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$user1context = context_user::instance($user1->id);
$user2context = context_user::instance($user2->id);
// Test nothing is found before message is sent.
$userlist = new \core_privacy\local\request\userlist($user1context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(0, $userlist);
$userlist = new \core_privacy\local\request\userlist($user2context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(0, $userlist);
$this->create_message_or_notification($user1->id, $user2->id, time() - (9 * DAYSECS));
// Test for the sender.
@@ -636,6 +690,14 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$user1context = context_user::instance($user1->id);
$user2context = context_user::instance($user2->id);
// Test nothing is found before notification is created.
$userlist = new \core_privacy\local\request\userlist($user1context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(0, $userlist);
$userlist = new \core_privacy\local\request\userlist($user2context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(0, $userlist);
$this->create_message_or_notification($user1->id, $user2->id, time() - (9 * DAYSECS), true);
// Test for the sender.
@@ -653,6 +715,43 @@ class core_message_privacy_provider_testcase extends \core_privacy\tests\provide
$this->assertEquals($user2->id, $userincontext->id);
}
/**
* Test for provider::get_users_in_context() when a users has a contact.
*/
public function test_get_users_in_context_with_contact() {
$this->resetAfterTest();
$user1 = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$user1context = context_user::instance($user1->id);
$user2context = context_user::instance($user2->id);
// Test nothing is found before contact is created.
$userlist = new \core_privacy\local\request\userlist($user1context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(0, $userlist);
$userlist = new \core_privacy\local\request\userlist($user2context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(0, $userlist);
message_add_contact($user2->id, 0, $user1->id);
// Test for the user adding the contact.
$userlist = new \core_privacy\local\request\userlist($user1context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(1, $userlist);
$userincontext = $userlist->current();
$this->assertEquals($user1->id, $userincontext->id);
// Test for the user who is the contact.
$userlist = new \core_privacy\local\request\userlist($user2context, 'core_message');
\core_message\privacy\provider::get_users_in_context($userlist);
$this->assertCount(1, $userlist);
$userincontext = $userlist->current();
$this->assertEquals($user2->id, $userincontext->id);
}
/**
* Test for provider::delete_data_for_users().
*/