public function setupCart($sessionId = '')
 {
     $product = $this->dummyData->getProduct();
     $user = $this->dummyData->getUser();
     $cartItem = $this->dummyData->getCartItem($product);
     $taxRate = $this->dummyData->getTaxRate();
     $cart = $this->dummyData->getCart();
     $cart->setSessionId($sessionId);
     $cart->addCartItem($cartItem);
     $cart->setUser($user);
     $cart->setTaxRate($taxRate);
     $this->entityManager->persist($product);
     $this->entityManager->persist($user);
     $this->entityManager->persist($taxRate);
     $this->cartRepository->create($cart);
     $this->entityManager->flush();
     $this->entityManager->clear();
     return $cart;
 }
Beispiel #2
0
 /**
  * @param UuidInterface $cartId
  * @param string $ip4
  * @param UuidInterface|null $userId
  * @param string|null $sessionId
  * @return Cart
  * @throws InvalidArgumentException
  */
 public function create(UuidInterface $cartId, $ip4, UuidInterface $userId = null, $sessionId = null)
 {
     if (empty($userId) && empty($sessionId)) {
         throw new InvalidArgumentException('User or session id required.');
     }
     $cart = new Cart($cartId);
     $cart->setIp4($ip4);
     $cart->setSessionId($sessionId);
     $cart->setUpdated();
     $this->addUserToCartIfExists($cart, $userId);
     $this->cartRepository->create($cart);
     return $cart;
 }