/** * @param \Wonderland\Application\Model\Member $recipient * @return array */ public function getReceivedMessages(Member $recipient) { $statement = $this->repository->findByRecipient($recipient); $messages = []; while ($data = $statement->fetch(\PDO::FETCH_ASSOC)) { $author = $this->memberManager->getMember($data['author_id']); $messages[] = (new Message())->setId($data['id'])->setTitle($data['title'])->setContent($data['content'])->setAuthor($author)->setRecipient($recipient)->setCreatedAt(new \DateTime($data['created_at'])); } return $messages; }
public function testFindByRecipient() { $messages = $this->repository->findByRecipient((new Member())->setId(2)->setIdentity('Alexander')->setAvatar('avatar.jpg'), 0, 15); $this->assertCount(1, $messages); $message = $messages[0]; $this->assertInstanceOf('Wonderland\\Application\\Model\\Message', $message); $this->assertEquals(2, $message->getId()); $this->assertEquals('Test again', $message->getTitle()); $this->assertEquals('again', $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 \Wonderland\Application\Model\Member $recipient * * @return array */ public function getReceivedMessages(Member $recipient, $minRange, $maxRange) { return $this->repository->findByRecipient($recipient, $minRange, $maxRange); }