Exemple #1
0
 /**
  * @Transform :customer
  */
 public function getOrCreateCustomerByEmail($email)
 {
     /** @var CustomerInterface $customer */
     $customer = $this->customerRepository->findOneBy(['email' => $email]);
     if (null === $customer) {
         $customer = $this->customerFactory->createNew();
         $customer->setEmail($email);
         $this->customerRepository->add($customer);
     }
     return $customer;
 }
 function it_creates_new_customer_if_it_does_not_exist(CustomerInterface $customer, FactoryInterface $customerFactory, CustomerRepositoryInterface $customerRepository)
 {
     $customerRepository->findOneBy(['email' => '*****@*****.**'])->willReturn(null);
     $customerFactory->createNew()->willReturn($customer);
     $customer->setEmail('*****@*****.**')->shouldBeCalled();
     $customerRepository->add($customer)->shouldBeCalled();
     $this->getOrCreateCustomerByEmail('*****@*****.**')->shouldReturn($customer);
 }
Exemple #3
0
 /**
  * @param string $email
  * @param string $password
  * @param bool $enabled
  * @param string|null $firstName
  * @param string|null $lastName
  */
 private function createCustomerWithUserAccount($email, $password, $enabled = true, $firstName = null, $lastName = null)
 {
     $user = $this->userFactory->createNew();
     /** @var CustomerInterface $customer */
     $customer = $this->customerFactory->createNew();
     $customer->setFirstName($firstName);
     $customer->setLastName($lastName);
     $customer->setEmail($email);
     $user->setUsername($email);
     $user->setPlainPassword($password);
     $user->setEnabled($enabled);
     $customer->setUser($user);
     $this->sharedStorage->set('customer', $customer);
     $this->customerRepository->add($customer);
 }