/** * @param string $title * @param string $content * @param \Wonderland\Application\Model\Member $author * @param string $recipientIdentity * @return \Wonderland\Application\Model\Message */ public function createMessage($title, $content, Member $author, $recipientIdentity) { $recipient = $this->memberManager->getMemberByIdentity($recipientIdentity); $message = (new Message())->setTitle($title)->setContent($content)->setAuthor($author)->setRecipient($recipient)->setCreatedAt(new \DateTime()); $this->repository->create($message); return $message; }
/** * @param \Wonderland\Application\Model\Member $author * @param string $recipientIdentity * @param string $title * @param string $content */ public function createMessage(Member $author, $recipientIdentity, $title, $content) { $errors = []; if (($recipient = $this->memberManager->getMemberByIdentity($recipientIdentity)) === null) { $errors[] = ['message' => $this->translator->translate('messages.creation.recipient_not_found')]; } if (trim($title) === '') { $errors[] = ['message' => $this->translator->translate('messages.creation.empty_content')]; } if (trim($content) === '') { $errors[] = ['message' => $this->translator->translate('messages.creation.empty_content')]; } if (count($errors) > 0) { return $errors; } $message = (new Message())->setTitle($title)->setContent($content)->setAuthor($author)->setRecipient($recipient)->setCreatedAt(new \DateTime()); $this->repository->create($message); return true; }
public function testCreate() { $this->repository->create($this->getMessageMock()); $message = $this->repository->find(1, 4); $this->assertInstanceOf('Wonderland\\Application\\Model\\Message', $message); $this->assertEquals(4, $message->getId()); $this->assertEquals('You have a new message !', $message->getTitle()); $this->assertEquals('Sorry, it was a 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()); }