コード例 #1
0
 /**
  * Tests retrieving contacts as another user.
  */
 public function test_messagearea_contacts_as_other_user()
 {
     $this->resetAfterTest(true);
     $this->setAdminUser();
     // Create some users.
     $user1 = self::getDataGenerator()->create_user();
     $user2 = new stdClass();
     $user2->firstname = 'User';
     $user2->lastname = 'A';
     $user2 = self::getDataGenerator()->create_user($user2);
     $user3 = new stdClass();
     $user3->firstname = 'User';
     $user3->lastname = 'B';
     $user3 = self::getDataGenerator()->create_user($user3);
     $user4 = new stdClass();
     $user4->firstname = 'User';
     $user4->lastname = 'C';
     $user4 = self::getDataGenerator()->create_user($user4);
     $user5 = new stdClass();
     $user5->firstname = 'User';
     $user5->lastname = 'D';
     $user5 = self::getDataGenerator()->create_user($user5);
     // Add some users as contacts.
     message_add_contact($user2->id, 0, $user1->id);
     message_add_contact($user3->id, 0, $user1->id);
     message_add_contact($user4->id, 0, $user1->id);
     // Retrieve the contacts.
     $result = core_message_external::data_for_messagearea_contacts($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::data_for_messagearea_contacts_returns(), $result);
     // Confirm the data is correct.
     $contacts = $result['contacts'];
     $this->assertCount(3, $contacts);
     $contact1 = $contacts[0];
     $contact2 = $contacts[1];
     $contact3 = $contacts[2];
     $this->assertEquals($user2->id, $contact1['userid']);
     $this->assertFalse($contact1['ismessaging']);
     $this->assertFalse($contact1['sentfromcurrentuser']);
     $this->assertNull($contact1['lastmessage']);
     $this->assertNull($contact1['messageid']);
     $this->assertFalse($contact1['isonline']);
     $this->assertFalse($contact1['isread']);
     $this->assertFalse($contact1['isblocked']);
     $this->assertNull($contact1['unreadcount']);
     $this->assertEquals($user3->id, $contact2['userid']);
     $this->assertFalse($contact2['ismessaging']);
     $this->assertFalse($contact2['sentfromcurrentuser']);
     $this->assertNull($contact2['lastmessage']);
     $this->assertNull($contact2['messageid']);
     $this->assertFalse($contact2['isonline']);
     $this->assertFalse($contact2['isread']);
     $this->assertFalse($contact2['isblocked']);
     $this->assertNull($contact2['unreadcount']);
     $this->assertEquals($user4->id, $contact3['userid']);
     $this->assertFalse($contact3['ismessaging']);
     $this->assertFalse($contact3['sentfromcurrentuser']);
     $this->assertNull($contact3['lastmessage']);
     $this->assertNull($contact3['messageid']);
     $this->assertFalse($contact3['isonline']);
     $this->assertFalse($contact3['isread']);
     $this->assertFalse($contact3['isblocked']);
     $this->assertNull($contact3['unreadcount']);
 }