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; }
/** * @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; }