コード例 #1
0
 /**
  * Test getting unread conversation count as other user.
  */
 public function test_get_unread_conversations_count_as_other_user()
 {
     $this->resetAfterTest(true);
     // The person wanting the conversation count.
     $this->setAdminUser();
     // Create some users.
     $user1 = self::getDataGenerator()->create_user();
     $user2 = self::getDataGenerator()->create_user();
     $user3 = self::getDataGenerator()->create_user();
     $user4 = self::getDataGenerator()->create_user();
     // Send some messages back and forth, have some different conversations with different users.
     $this->send_message($user1, $user2, 'Yo!');
     $this->send_message($user2, $user1, 'Sup mang?');
     $this->send_message($user1, $user2, 'Writing PHPUnit tests!');
     $this->send_message($user2, $user1, 'Word.');
     $this->send_message($user1, $user3, 'Booyah');
     $this->send_message($user3, $user1, 'Whaaat?');
     $this->send_message($user1, $user3, 'Nothing.');
     $this->send_message($user3, $user1, 'Cool.');
     $this->send_message($user1, $user4, 'Hey mate, you see the new messaging UI in Moodle?');
     $this->send_message($user4, $user1, 'Yah brah, it\'s pretty rad.');
     $this->send_message($user1, $user4, 'Dope.');
     // Get the unread conversation count.
     $result = core_message_external::get_unread_conversations_count($user1->id);
     // We need to execute the return values cleaning process to simulate the web service server.
     $result = external_api::clean_returnvalue(core_message_external::get_unread_conversations_count_returns(), $result);
     $this->assertEquals(3, $result);
 }