コード例 #1
0
 public function setUp()
 {
     parent::setUp();
     $subscriptionModel = new Subscription();
     $subscriptionModel->setSubscriptionId(1)->setNewsletterId(1)->setSubscriberId(1);
     $subscriptions = [$subscriptionModel];
     $subscriber = new SubscriberModel();
     $subscriber->setSubscriberId(1)->setEmail('*****@*****.**')->setName('Joe Bloggs')->setSubscriptions($subscriptions);
     $subscriberMapperMock = $this->getMock('UthandoNewsletter\\Mapper\\Subscriber');
     $subscriberMapperMock->expects($this->any())->method('getById')->willReturn($subscriber);
     $subscriberMapperMock->expects($this->any())->method('getByEmail')->willReturn($subscriber);
     $subscriberMapperMock->expects($this->any())->method('getPrimaryKey')->willReturn('subscriberId');
     $subscriberMapperMock->expects($this->any())->method('delete')->willReturn(1);
     $this->serviceManager->get('UthandoMapperManager')->setAllowOverride(true);
     $this->serviceManager->get('UthandoMapperManager')->setService('UthandoNewsletterSubscriber', $subscriberMapperMock);
     $subscriptionServiceMock = $this->getMock('UthandoNewsletter\\Service\\Subscription');
     $subscriptionServiceMock->expects($this->any())->method('getSubscriptionsBySubscriberId')->willReturn($subscriptions);
     $subscriptionServiceMock->expects($this->any())->method('delete')->willReturn(1);
     $this->serviceManager->get('UthandoServiceManager')->setAllowOverride(true);
     $this->serviceManager->get('UthandoServiceManager')->setService('UthandoNewsletterSubscription', $subscriptionServiceMock);
     $newsletterModel = new Newsletter();
     $newsletterModel->setNewsletterId(1);
     $newsletterServiceMock = $this->getMock('UthandoNewsletter\\Service\\Newsletter');
     $newsletterServiceMock->expects($this->any())->method('fetchAll')->willReturn([$newsletterModel]);
     $this->serviceManager->get('UthandoServiceManager')->setService('UthandoNewsletter', $newsletterServiceMock);
 }
コード例 #2
0
 public function testSetGetSubscriptions()
 {
     $subscription = new Subscription();
     $subscription->setNewsletterId(1)->getSubscriberId(1);
     $this->model->setSubscriptions($subscription);
     $this->assertSame([$subscription], $this->model->getSubscriptions());
     $this->assertSame($subscription, $this->model->getSubscriptions(1));
 }
コード例 #3
0
 public function testGetSubscribers()
 {
     $newsletterModel = new Newsletter();
     $subscriptionModel = new Subscription();
     $newsletterModel->setName('Test')->setNewsletterId(1);
     $subscriptionModel->setNewsletterId(1)->setSubscriberId(1);
     $newsletterReturnArray = [$newsletterModel];
     $subscriptionReturnArray = [$subscriptionModel];
     $newsletterServiceMock = $this->getMockBuilder('UthandoNewsletter\\Service\\Newsletter')->disableOriginalConstructor()->getMock();
     $subscriptionServiceMock = $this->getMockBuilder('UthandoNewsletter\\Service\\Subscription')->disableOriginalConstructor()->getMock();
     $subscriptionMapperMock = $this->getMockBuilder('UthandoNewsletter\\Mapper\\Subscription')->disableOriginalConstructor()->getMock();
     $newsletterServiceMock->expects($this->once())->method('fetchVisibleNewsletters')->will($this->returnValue($newsletterReturnArray));
     $subscriptionMapperMock->expects($this->once())->method('getSubscriptionsBySubscriberId')->will($this->returnValue($subscriptionReturnArray));
     $subscriptionServiceMock->expects($this->once())->method('getMapper')->will($this->returnValue($subscriptionMapperMock));
     $this->serviceManager->setAllowOverride(true);
     $serviceManagerMock = $this->getMockBuilder('UthandoCommon\\Service\\ServiceManager')->disableOriginalConstructor()->getMock();
     $serviceManagerMock->expects($this->exactly(2))->method('get')->with($this->logicalOr($this->equalTo('UthandoNewsletter'), $this->equalTo('UthandoNewsletterSubscription')))->will($this->returnValueMap([['UthandoNewsletter', [], true, $newsletterServiceMock], ['UthandoNewsletterSubscription', [], true, $subscriptionServiceMock]]));
     $this->serviceManager->setService('UthandoServiceManager', $serviceManagerMock);
     /* @var $form SubscriptionList */
     $form = $this->serviceManager->get('FormElementManager')->get('UthandoNewsLetterSubscriptionList');
     $form->setOptions($this->options);
     $form->setLabelPrepend(true);
     $this->assertSame($this->valueOptions, $form->getSubscribers());
 }
コード例 #4
0
 /**
  * @param SubscriptionModel $object
  * @return array
  */
 public function extract($object)
 {
     return ['subscriptionId' => $object->getSubscriptionId(), 'newsletterId' => $object->getNewsletterId(), 'subscriberId' => $object->getSubscriberId()];
 }
コード例 #5
0
 public function testSetGetSubscriberId()
 {
     $this->model->setSubscriberId(1);
     $this->assertSame(1, $this->model->getSubscriberId());
 }