/** * @covers DmMailer\Manager\Subscriber */ public function testHandlePostReturnsRetrievesCampaignsOnSaveSuccess() { $postData = [\DmMailer\Entity\Subscriber::CAMPAIGNS => [2, 3]]; $this->formMock->expects($this->any())->method('isValid')->will($this->returnValue(true)); $this->formMock->expects($this->any())->method('getData')->will($this->returnValue($postData)); $this->requestMock->expects($this->any())->method('isPost')->will($this->returnValue(true)); $this->requestMock->expects($this->any())->method('getPost')->will($this->returnValue([])); $this->campaignRepoMock->expects($this->once())->method('getByIds'); $actualResult = $this->sut->handlePost($this->subscriberMock); $this->assertTrue($actualResult); }
/** * @param ServiceLocatorInterface $serviceLocator * * @return SubscriberManager */ public function createService(ServiceLocatorInterface $serviceLocator) { /** @var EntityManager $entityManager */ $entityManager = $serviceLocator->get('Doctrine\\ORM\\EntityManager'); /** @var PhpRequest $request */ $request = $serviceLocator->get('request'); /** @var SubscriberRepository $mainRepository */ $mainRepository = $serviceLocator->get('DmMailer\\Repository\\Subscriber'); /** @var SubscriberForm $form */ $form = $serviceLocator->get('DmMailer\\Form\\SubscriberForm'); /** @var Paginator $paginatorFactory */ $paginatorFactory = $serviceLocator->get('DmMailer\\Service\\Factory\\Paginator'); $manager = new SubscriberManager($entityManager, $request, $mainRepository, $form, $paginatorFactory); /** @var CampaignRepository $campaignRepository */ $campaignRepository = $serviceLocator->get('DmMailer\\Repository\\Campaign'); $manager->setCampaignRepository($campaignRepository); return $manager; }
/** * @return ViewModel */ public function updateAction() { /** @var Subscriber $entity */ $entity = $this->subscriberRepository->getOneById($this->params('entityId')); if (!$entity) { return $this->redirect()->toRoute(static::BASE_ROUTE); } try { if ($this->manager->handlePost($entity)) { $msg = $this->userText->getMessage(EntityName::SUBSCRIBER, Message::UPDATE_SUCCESS); $this->flashMessenger()->addSuccessMessage($msg); return $this->redirect()->toRoute(static::BASE_ROUTE); } } catch (\Exception $ex) { $msg = $this->userText->getMessage(EntityName::SUBSCRIBER, Message::SAVE_FAILED); $this->currentMessages[FeedbackType::DANGER][] = $msg; } $this->layout()->currentMessages = $this->currentMessages; return new ViewModel(['form' => $this->manager->getForm()]); }