コード例 #1
0
 /**
  * Tests searching messages as another user.
  */
 public function test_messagearea_search_messages_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);
     // Perform a search.
     $result = core_message_external::data_for_messagearea_search_messages($user1->id, 'o');
     // 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_search_messages_returns(), $result);
     // Confirm the data is correct.
     $messages = $result['contacts'];
     $this->assertCount(2, $messages);
     $message1 = $messages[0];
     $message2 = $messages[1];
     $this->assertEquals($user2->id, $message1['userid']);
     $this->assertEquals(fullname($user2), $message1['fullname']);
     $this->assertTrue($message1['ismessaging']);
     $this->assertFalse($message1['sentfromcurrentuser']);
     $this->assertEquals('Word.', $message1['lastmessage']);
     $this->assertNotEmpty($message1['messageid']);
     $this->assertFalse($message1['isonline']);
     $this->assertFalse($message1['isread']);
     $this->assertFalse($message1['isblocked']);
     $this->assertNull($message1['unreadcount']);
     $this->assertEquals($user2->id, $message2['userid']);
     $this->assertEquals(fullname($user2), $message2['fullname']);
     $this->assertTrue($message2['ismessaging']);
     $this->assertTrue($message2['sentfromcurrentuser']);
     $this->assertEquals('Yo!', $message2['lastmessage']);
     $this->assertNotEmpty($message2['messageid']);
     $this->assertFalse($message2['isonline']);
     $this->assertTrue($message2['isread']);
     $this->assertFalse($message2['isblocked']);
     $this->assertNull($message2['unreadcount']);
 }