/** * 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); }