/** * 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()); } }
/** * @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)); }
/** * @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']); }
/** * @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()); }