function it_not_a_backorder_if_contains_no_backordered_units(InventoryUnitInterface $unit1, InventoryUnitInterface $unit2, OrderItemInterface $item) { $unit1->getInventoryState()->willReturn(InventoryUnitInterface::STATE_SOLD); $unit2->getInventoryState()->willReturn(InventoryUnitInterface::STATE_SOLD); $item->getInventoryUnits()->willReturn(array($unit1, $unit2)); $item->setOrder($this)->shouldBeCalled(); $this->addItem($item); $this->shouldNotBeBackorder(); }
function it_does_not_include_shipping_promotion_adjustment_in_order_promotion_total(AdjustmentInterface $shippingPromotionAdjustment, OrderItemInterface $orderItem1) { $orderItem1->getTotal()->willReturn(500); $orderItem1->getAdjustmentsTotalRecursively(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT)->willReturn(-400); $shippingPromotionAdjustment->getType()->willReturn(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT); $shippingPromotionAdjustment->isNeutral()->willReturn(false); $shippingPromotionAdjustment->getAmount()->willReturn(-100); $orderItem1->setOrder($this)->shouldBeCalled(); $this->addItem($orderItem1); $shippingPromotionAdjustment->setAdjustable($this)->shouldBeCalled(); $this->addAdjustment($shippingPromotionAdjustment); $this->getOrderPromotionTotal()->shouldReturn(-400); }
function it_returns_promotions_total_recursively(AdjustmentInterface $orderPromotionAdjustment, AdjustmentInterface $orderItemPromotionAdjustment, OrderItemInterface $orderItem) { $orderPromotionAdjustment->getAmount()->willReturn(10000); $orderItemPromotionAdjustment->getAmount()->willReturn(5000); $orderPromotionAdjustment->isNeutral()->willReturn(false); $orderItemPromotionAdjustment->isNeutral()->willReturn(false); $orderPromotionAdjustment->getType()->willReturn(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT); $orderItemPromotionAdjustment->getType()->willReturn(AdjustmentInterface::ORDER_ITEM_PROMOTION_ADJUSTMENT); $orderPromotionAdjustment->setAdjustable($this)->shouldBeCalled(); $orderItem->getAdjustmentsRecursively(AdjustmentInterface::ORDER_ITEM_PROMOTION_ADJUSTMENT)->willReturn([$orderItemPromotionAdjustment]); $orderItem->setOrder($this)->shouldBeCalled(); $orderItem->getTotal()->willReturn(15000); $orderItem->getAdjustmentsRecursively(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT)->willReturn([]); $this->addItem($orderItem); $this->addAdjustment($orderPromotionAdjustment); $this->getPromotionsTotalRecursively()->shouldReturn(15000); }