コード例 #1
0
 /**
  * Test get_blocked_users.
  */
 public function test_get_blocked_users()
 {
     $this->resetAfterTest(true);
     $user1 = self::getDataGenerator()->create_user();
     $userstranger = self::getDataGenerator()->create_user();
     $useroffline1 = self::getDataGenerator()->create_user();
     $useroffline2 = self::getDataGenerator()->create_user();
     $userblocked = self::getDataGenerator()->create_user();
     // Login as user1.
     $this->setUser($user1);
     $this->assertEquals(array(), core_message_external::create_contacts(array($useroffline1->id, $useroffline2->id)));
     // The userstranger sends a couple of messages to user1.
     $this->send_message($userstranger, $user1, 'Hello there!');
     $this->send_message($userstranger, $user1, 'How you goin?');
     // The userblocked sends a message to user1.
     // Note that this user is not blocked at this point.
     $this->send_message($userblocked, $user1, 'Here, have some spam.');
     // Retrieve the list of blocked users.
     $this->setUser($user1);
     $blockedusers = core_message_external::get_blocked_users($user1->id);
     $blockedusers = external_api::clean_returnvalue(core_message_external::get_blocked_users_returns(), $blockedusers);
     $this->assertCount(0, $blockedusers['users']);
     // Block the $userblocked and retrieve again the list.
     core_message_external::block_contacts(array($userblocked->id));
     $blockedusers = core_message_external::get_blocked_users($user1->id);
     $blockedusers = external_api::clean_returnvalue(core_message_external::get_blocked_users_returns(), $blockedusers);
     $this->assertCount(1, $blockedusers['users']);
 }