function it_reverts_product($orderItemQuantityModifier, $variantRepository, FactoryInterface $itemFactory, OrderInterface $order, OrderItemInterface $item, ProductVariantInterface $variant, PromotionInterface $promotion) { $variantRepository->find(500)->willReturn($variant); $itemFactory->createNew()->willReturn($item); $item->setUnitPrice(2)->willReturn($item); $item->setVariant($variant)->willReturn($item); $orderItemQuantityModifier->modify($item, 3)->shouldBeCalled(); $item->equals($item)->willReturn(true); $item->setImmutable(true)->shouldBeCalled(); $order->getItems()->willReturn([$item]); $order->removeItem($item)->shouldBeCalled(); $this->revert($order, ['variant' => 500, 'quantity' => 3, 'price' => 2], $promotion); }
function it_reverts_product(RepositoryInterface $variantRepository, RepositoryInterface $itemRepository, OrderInterface $order, OrderItemInterface $item, ProductVariantInterface $variant, PromotionInterface $promotion) { $configuration = array('variant' => 500, 'quantity' => 3, 'price' => 2); $variantRepository->find($configuration['variant'])->willReturn($variant); $itemRepository->createNew()->willReturn($item); $item->setUnitPrice($configuration['price'])->shouldBeCalled()->willReturn($item); $item->setVariant($variant)->shouldBeCalled()->willReturn($item); $item->setQuantity($configuration['quantity'])->shouldBeCalled()->willReturn($item); $item->equals($item)->willReturn(true); $order->getItems()->willReturn(array($item)); $order->removeItem($item)->shouldBeCalled(); $this->revert($order, $configuration, $promotion); }