예제 #1
0
 /**
  * Test if only messages are received send later than we joined
  * @dataProvider messageProvider
  * @param $msgs array()
  * @param $convId string
  * @param $user \OCA\Chat\OCH\Db\User;
  */
 public function testGetMessagesByConvIdWithoutStartPoint($msgs, $convId, $user)
 {
     foreach ($msgs as $msg) {
         $this->messageMapper->insert($msg);
     }
     $this->userMapper->insert($user);
     $result = $this->messageMapper->getMessagesByConvId($convId, 'foo');
     $this->assertEquals(14, count($result));
     // We joined at time "6", messages start at time "0" and there are 20 messages
     foreach ($result as $r) {
         $this->assertGreaterThan(5, $r->getTimestamp());
     }
 }
예제 #2
0
 /**
  * @param User $user1
  * @param User $user2
  * @param User $user3
  * @dataProvider findUsersInConvProvider
  */
 public function testFindUsersInConv(User $user1, User $user2, User $user3, $id)
 {
     $this->userMapper->insert($user1);
     $this->userMapper->insert($user2);
     $this->userMapper->insert($user3);
     $result = $this->userMapper->findUsersInConv($id);
     $this->assertEquals(1, count($result));
     $this->assertTrue(in_array($user1->getUser(), $result));
     $this->assertTrue(in_array($user2->getUser(), $result));
 }
예제 #3
0
 /**
  * @dataProvider existsByUserProvider
  * @param $conv1 \OCA\Chat\OCH\Db\Conversation
  * @param $user1InConv1 \OCA\Chat\OCH\Db\User
  * @param $user2InConv1 \OCA\Chat\OCH\Db\User
  * @param $conv2 \OCA\Chat\OCH\Db\Conversation
  * @param $user1InConv2 \OCA\Chat\OCH\Db\User
  * @param $user2InConv2 \OCA\Chat\OCH\Db\User
  * @param $user3InConv2 \OCA\Chat\OCH\Db\User
  */
 public function testExistsByUsers($conv1, $user1InConv1, $user2InConv1, $conv2, $user1InConv2, $user2InConv2, $user3InConv2)
 {
     // Insert dummy data
     $this->conversationMapper->insert($conv1);
     $this->userMapper->insert($user1InConv1);
     $this->userMapper->insert($user2InConv1);
     $this->conversationMapper->insert($conv2);
     $this->userMapper->insert($user1InConv2);
     $this->userMapper->insert($user2InConv2);
     $this->userMapper->insert($user3InConv2);
     // Test if we can find $conv1, by providing $user1Inconv1 and $user2InConv1
     $result1 = $this->conversationMapper->existsByUsers(array($user1InConv1->getUser(), $user2InConv1->getUser()));
     $this->assertEquals($conv1->getConversationId(), $result1['conv_id']);
     // Test if we can find $conv2, by providing $user1Inconv2 and $user2InConv2 $user3InConv2
     $result2 = $this->conversationMapper->existsByUsers(array($user1InConv2->getUser(), $user2InConv2->getUser(), $user3InConv2->getUser()));
     $this->assertEquals($conv2->getConversationId(), $result2['conv_id']);
 }
예제 #4
0
 /**
  * @dataProvider createForAllUsersInConvProvider
  * @param $users
  */
 public function testCreateForAllUsersInConv($usersInConv, $sessions, $convId)
 {
     foreach ($usersInConv as $user) {
         $this->userMapper->insert($user);
     }
     foreach ($sessions as $session) {
         $this->userOnlineMapper->insert($session);
     }
     $this->pushMessageMapper->createForAllUsersInConv('bar', $convId, 'testCommand');
     $result = $this->pushMessageMapper->findAll();
     $this->assertEquals('bar', $result[0]->getSender());
     $this->assertEquals('foo', $result[0]->getReceiver());
     $this->assertEquals('testCommand', $result[0]->getCommand());
     $this->assertEquals('bar', $result[1]->getSender());
     $this->assertEquals('bar', $result[1]->getReceiver());
     $this->assertEquals('testCommand', $result[1]->getCommand());
 }