/** * @param string $securityKey * * @return bool */ public function trackQueueItem($securityKey) { $queueItem = $this->mainRepository->getOneBySecurityKey($securityKey); if ($queueItem) { $queueItem->setIsTracked(true); return $this->saveEntity($queueItem); } return false; }
/** * @return ViewModel */ public function previewAction() { /** @var QueueItem $queueItem */ $queueItem = $this->queueItemRepository->getOneBySecurityKey($this->params('securityKey')); if (!$queueItem) { return $this->redirect()->toRoute(static::ERROR_ROUTE); } $this->prepareMessageBuilder($queueItem); $message = $queueItem->getMessage(); $template = $message->getCampaign()->getTemplate(); $previewData = $this->messageBuilder->getBody($message->getBody(), $template->getBody()); $this->layout('layout/empty'); return new ViewModel(['preview' => $previewData]); }
/** * @covers DmMailer\Repository\QueueItem */ public function testGetOneBySecurityKey() { $actualResult = $this->sut->getOneBySecurityKey('security_key_1'); $this->assertInstanceOf('DmMailer\\Entity\\QueueItem', $actualResult); $this->assertEquals('*****@*****.**', $actualResult->getSubscriber()->getEmailAddress()); $this->assertEquals('Halloween recipes', $actualResult->getMessage()->getSubject()); }