/** * @return void */ public function testAssignCustomerToExistingSubscriber() { $newsletterSubscriberTransfer = $this->createSubscriber(); $subscriberQuery = SpyNewsletterSubscriberQuery::create(); $subscriberQuery->filterByEmail($newsletterSubscriberTransfer->getEmail()); $subscriberQuery->filterBySubscriberKey($newsletterSubscriberTransfer->getSubscriberKey()); $subscriberEntity = $subscriberQuery->findOneOrCreate(); if ($subscriberEntity->getFkCustomer()) { $subscriberEntity->setFkCustomer(null); } $subscriberEntity->save(); $customerQuery = SpyCustomerQuery::create(); $customerQuery->filterByEmail($newsletterSubscriberTransfer->getEmail()); $customerQuery->filterByCustomerReference('123'); $customer = $customerQuery->findOneOrCreate(); $customer->save(); $newsletterSubscriberTransfer->setFkCustomer($customer->getIdCustomer()); $result = $this->newsletterFacade->assignCustomerToExistingSubscriber($newsletterSubscriberTransfer); $this->assertTrue($result); $queryContainer = new NewsletterQueryContainer(); $subscriberEntity = $queryContainer->querySubscriber()->filterByEmail($newsletterSubscriberTransfer->getEmail())->findOne(); $this->assertSame($customer->getIdCustomer(), $subscriberEntity->getFkCustomer()); }
/** * @todo move this code to customer checkout connector, registration can only happen if we have * already installed customer bundle * * @return void */ public function testRegistrationDoesNotCreateACustomerIfGuest() { $quoteTransfer = $this->getBaseQuoteTransfer(); $quoteTransfer->getCustomer()->setIsGuest(true); $result = $this->checkoutFacade->placeOrder($quoteTransfer); $this->assertTrue($result->getIsSuccess()); $this->assertEquals(0, count($result->getErrors())); $customerQuery = SpyCustomerQuery::create()->filterByEmail($quoteTransfer->getCustomer()->getEmail()); $this->assertEquals(0, $customerQuery->count()); }
/** * @return \Orm\Zed\Customer\Persistence\SpyCustomerQuery */ public function createSpyCustomerQuery() { return SpyCustomerQuery::create(); }