/**
  * @param int $id
  * @return \Wonderland\Application\Model\Message
  */
 public function getMessage($id)
 {
     $data = $this->repository->find($id);
     $author = $this->memberManager->getMember($data['author_id']);
     $recipient = $this->memberManager->getMember($data['recipient_id']);
     return (new Message())->setId($id)->setTitle($data['title'])->setContent($data['content'])->setAuthor($author)->setRecipient($recipient)->setCreatedAt(new \DateTime($data['created_at']));
 }
 public function testFind()
 {
     $message = $this->repository->find(1, 1);
     $this->assertInstanceOf('Wonderland\\Application\\Model\\Message', $message);
     $this->assertEquals(1, $message->getId());
     $this->assertEquals('Test', $message->getTitle());
     $this->assertEquals('test', $message->getContent());
     $this->assertInstanceOf('DateTime', $message->getCreatedAt());
     $this->assertNull($message->getOpenedAt());
     $author = $message->getAuthor();
     $this->assertInstanceOf('Wonderland\\Application\\Model\\Member', $author);
     $this->assertEquals(1, $author->getId());
     $this->assertEquals('John Doe', $author->getIdentity());
     $this->assertEquals('avatar.png', $author->getAvatar());
     $recipient = $message->getRecipient();
     $this->assertInstanceOf('Wonderland\\Application\\Model\\Member', $recipient);
     $this->assertEquals(2, $recipient->getId());
     $this->assertEquals('Alexander', $recipient->getIdentity());
     $this->assertEquals('avatar.jpg', $recipient->getAvatar());
 }
 /**
  * @param int $memberId
  * @param int $id
  *
  * @return \Wonderland\Application\Model\Message|null
  */
 public function getMessage($memberId, $id)
 {
     return $this->repository->find($memberId, $id);
 }