예제 #1
0
 public function testFindMessagesLimit()
 {
     $conversation = $this->driver->createConversationModel();
     $conversation->setSubject('Subject');
     $this->driver->persistConversation($conversation);
     $firstMessage = $this->driver->createMessageModel($conversation, $this->createPerson(), 'Body1');
     $this->driver->persistMessage($firstMessage);
     $secondMessage = $this->driver->createMessageModel($conversation, $this->createPerson(), 'Body2');
     $this->driver->persistMessage($secondMessage);
     $thirdMessage = $this->driver->createMessageModel($conversation, $this->createPerson(), 'Body3');
     $this->driver->persistMessage($thirdMessage);
     $this->driver->flush();
     $fetched = $this->driver->findMessages($conversation, 0, 2, 'ASC');
     $this->assertInstanceOf('Doctrine\\Common\\Collections\\Collection', $fetched);
     $this->assertCount(2, $fetched);
     $this->assertMessagesEquals($firstMessage, $fetched[0]);
     $this->assertMessagesEquals($secondMessage, $fetched[1]);
     $fetched = $this->driver->findMessages($conversation, 1, 2, 'ASC');
     $this->assertInstanceOf('Doctrine\\Common\\Collections\\Collection', $fetched);
     $this->assertCount(2, $fetched);
     $this->assertMessagesEquals($secondMessage, $fetched[0]);
     $this->assertMessagesEquals($thirdMessage, $fetched[1]);
 }
예제 #2
0
 /**
  * Create and persist a message object.
  *
  * @param ConversationInterface $conversation
  * @param PersonInterface       $sender
  * @param string                $body
  *
  * @return MessageInterface
  */
 private function createAndPersistMessage(ConversationInterface $conversation, PersonInterface $sender, $body)
 {
     $message = $this->driver->createMessageModel($conversation, $sender, $body);
     $this->driver->persistMessage($message);
     return $message;
 }