Esempio n. 1
0
 /**
  * @covers DmMailer\Manager\Subscribe
  */
 public function testHandlePostQueuesSystemMessageOnSaveSuccess()
 {
     $postData = [\DmMailer\Entity\Subscriber::CAMPAIGNS => []];
     $messageMock = $this->getMockBuilder('DmMailer\\Entity\\Message')->disableOriginalConstructor()->setMethods([])->getMock();
     $this->messageRepoMock->expects($this->any())->method('getSystemMessage')->will($this->returnValue($messageMock));
     $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([]));
     // Actual test
     $queueItemMock = $this->getMockBuilder('DmMailer\\Entity\\QueueItem')->disableOriginalConstructor()->setMethods(['setMessage', 'setSubscriber'])->getMock();
     $queueItemRepoMock = $this->getMockBuilder('DmMailer\\Repository\\QueueItem')->disableOriginalConstructor()->setMethods(['getNewEntity'])->getMock();
     $queueItemRepoMock->expects($this->once())->method('getNewEntity')->will($this->returnValue($queueItemMock));
     $this->sut->setQueueItemRepository($queueItemRepoMock);
     $this->entityManagerMock->expects($this->exactly(3))->method('persist');
     // Actual test ends
     $actualResult = $this->sut->handlePost($this->subscriberMock, $this->campaignMock);
     $this->assertTrue($actualResult);
 }
Esempio n. 2
0
 /**
  * @param ServiceLocatorInterface $serviceLocator
  *
  * @return SubscribeManager
  */
 public function createService(ServiceLocatorInterface $serviceLocator)
 {
     /** @var EntityManager $entityManager */
     $entityManager = $serviceLocator->get('Doctrine\\ORM\\EntityManager');
     /** @var PhpRequest $request */
     $request = $serviceLocator->get('request');
     /** @var SubscribeForm $form */
     $form = $serviceLocator->get('DmMailer\\Form\\SubscribeForm');
     /** @var Paginator $paginatorFactory */
     $paginatorFactory = $serviceLocator->get('DmMailer\\Service\\Factory\\Paginator');
     $manager = new SubscribeManager($entityManager, $request, null, $form, $paginatorFactory);
     /** @var QueueItemRepository $queueItemRepository */
     $queueItemRepository = $serviceLocator->get('DmMailer\\Repository\\QueueItem');
     /** @var MessageRepository $messageRepository */
     $messageRepository = $serviceLocator->get('DmMailer\\Repository\\Message');
     $manager->setQueueItemRepository($queueItemRepository);
     $manager->setMessageRepository($messageRepository);
     return $manager;
 }