Exemple #1
0
 /**
  * 1. create user A then create group A
  * 3. create user B, join the group, user A quit the group
  * 4. delete group & created users
  */
 public function testChatroom()
 {
     $userTest = new UserTest();
     $userOne = $userTest->createUser();
     $group = $this->createGroup($userOne, Group::TYPE_CHATROOM);
     $this->listGroups($group, $userOne, GroupUser::STATUS_AGREE);
     $this->listUsers($group->id, null, $userOne);
     $group = $this->updateGroup($userOne, $group);
     $userTwo = $userTest->createUser();
     $this->joinGroup($userTwo, $group);
     $this->listGroups($group, $userTwo, GroupUser::STATUS_AGREE);
     $this->listUsers($group->id, null, $userTwo);
     $this->quitGroup($userTwo, $group);
     $this->quitGroup($userOne, $group);
     $userTest->deleteUser($userOne);
     $userTest->deleteUser($userTwo);
 }
Exemple #2
0
 /**
  * 1. create two user
  * 2. a user ask for b to make friend
  * 3. b user agree this ask
  * 4. get friends for a, check whether there is b;get friends for b, check whether there is a
  * 5. a create group named 'a new group', then move b to this group, and update group name, then delete this group
  * 6. delete two user and there relations
  */
 public function testRoster()
 {
     // 1
     $userTest = new UserTest();
     $userOne = $userTest->createUser();
     $userTwo = $userTest->createUser();
     // 2
     $rosterA = $this->requestForFriend($userOne, $userTwo);
     //3
     $this->receiveRequest($userTwo, $userOne);
     // 4
     $resp = $this->request('/api/roster/list', ['uid' => $userOne->id, 'token' => $userOne->token, 'status' => Roster::STATUS_AGREE]);
     $this->assertResponseNotEmptyList($resp);
     $rosters = $this->getResponseBody($resp);
     $found = false;
     foreach ($rosters as $r) {
         if ($r['target_id'] == $userTwo->id) {
             $found = true;
             break;
         }
     }
     self::assertTrue($found);
     // 5
     $resp = $this->request('/api/roster/create_group', ['uid' => $userOne->id, 'token' => $userOne->token, 'name' => 'a new group', 'rank' => 1], true);
     $this->assertRequestSuccess($resp);
     $groupRoster = ConvertUtil::arrayToObject($this->getResponseBody($resp), new RosterGroup(), ['group_id' => 'id', 'name', 'uid', 'rank']);
     RosterManager::getInstance()->getRoster($rosterA);
     $resp = $this->request('/api/roster/update', ['uid' => $userOne->id, 'token' => $userOne->token, 'target_id' => $userTwo->id, 'status' => $rosterA->status, 'remark' => 'updated remark', 'group_id' => $groupRoster->id, 'rank' => 0], true);
     $this->assertRequestSuccess($resp);
     $resp = $this->request('/api/roster/update_group', ['uid' => $userOne->id, 'token' => $userOne->token, 'group_id' => $groupRoster->id, 'name' => 'a updated name', 'rank' => 2], true);
     $this->assertRequestSuccess($resp);
     $this->assertRequestSuccess($this->request('/api/roster/delete_group', ['uid' => $userOne->id, 'token' => $userOne->token, 'group_id' => $groupRoster->id], true));
     // 6
     $userTest->deleteUser($userOne);
     $userTest->deleteUser($userTwo);
     RosterManager::getInstance()->deleteRoster($rosterA);
 }