/** * Tests retrieving most recent message as another user. */ public function test_messagearea_get_most_recent_message_as_other_user() { $this->resetAfterTest(true); // The person doing the search. $this->setAdminUser(); // Create some users. $user1 = self::getDataGenerator()->create_user(); $user2 = self::getDataGenerator()->create_user(); // Send some messages back and forth. $time = time(); $this->send_message($user1, $user2, 'Yo!', 0, $time); $this->send_message($user2, $user1, 'Sup mang?', 0, $time + 1); $this->send_message($user1, $user2, 'Writing PHPUnit tests!', 0, $time + 2); $this->send_message($user2, $user1, 'Word.', 0, $time + 3); // Get the most recent message. $result = core_message_external::data_for_messagearea_get_most_recent_message($user1->id, $user2->id); // We need to execute the return values cleaning process to simulate the web service server. $result = external_api::clean_returnvalue(core_message_external::data_for_messagearea_get_most_recent_message_returns(), $result); // Check the results are correct. $this->assertEquals($user2->id, $result['useridfrom']); $this->assertEquals($user1->id, $result['useridto']); $this->assertContains('Word.', $result['text']); }