/** * Tries to initialize cart if there is data in storage. */ private function initializeCart() { if (null === $this->cart) { $cartIdentifier = $this->context->getCurrentCartIdentifier(); if ($cartIdentifier) { $this->cart = $this->getCartByIdentifier($cartIdentifier); } } }
/** * Tries to initialize cart if there is data in storage. * If not, returns new instance from resourceFactory * * @return CartInterface */ private function provideCart() { $cartIdentifier = $this->cartContext->getCurrentCartIdentifier(); if ($cartIdentifier !== null) { $cart = $this->cartRepository->find($cartIdentifier); if ($cart !== null) { return $cart; } } $cart = $this->cartFactory->createNew(); $this->cartContext->setCurrentCartIdentifier($cart); return $cart; }
function it_initializes_cart_while_validating_existence_and_if_there_is_identifier_in_storage(CartContextInterface $cartContext) { $cartContext->getCurrentCartIdentifier()->willReturn(666); $this->hasCart()->shouldReturn(true); }