Example #1
0
 function it_returns_adjustments_recursively(AdjustmentInterface $itemAdjustment, AdjustmentInterface $unitAdjustment1, AdjustmentInterface $unitAdjustment2, Collection $unitAdjustments1, Collection $unitAdjustments2, OrderItemUnitInterface $unit1, OrderItemUnitInterface $unit2)
 {
     $unit1->getOrderItem()->willReturn($this);
     $unit1->getTotal()->willReturn(100);
     $unit1->getAdjustments(null)->willReturn($unitAdjustments1);
     $unitAdjustments1->toArray()->willReturn(array($unitAdjustment1));
     $unit2->getOrderItem()->willReturn($this);
     $unit2->getTotal()->willReturn(100);
     $unit2->getAdjustments(null)->willReturn($unitAdjustments2);
     $unitAdjustments2->toArray()->willReturn(array($unitAdjustment2));
     $this->addUnit($unit1);
     $this->addUnit($unit2);
     $itemAdjustment->setAdjustable($this)->shouldBeCalled();
     $itemAdjustment->isNeutral()->willReturn(true);
     $this->addAdjustment($itemAdjustment);
     $this->getAdjustmentsRecursively()->shouldReturn(array($itemAdjustment, $unitAdjustment1, $unitAdjustment2));
 }
Example #2
0
 function it_returns_correct_adjustments_total_by_type_recursively(AdjustmentInterface $adjustment1, AdjustmentInterface $promotionAdjustment, AdjustmentInterface $taxAdjustment1, AdjustmentInterface $taxAdjustment2, OrderItemUnitInterface $orderItemUnit1, OrderItemUnitInterface $orderItemUnit2)
 {
     $adjustment1->getType()->willReturn('tax');
     $adjustment1->getAmount()->willReturn(200);
     $adjustment1->isNeutral()->willReturn(false);
     $adjustment1->setAdjustable($this)->shouldBeCalled();
     $promotionAdjustment->getAmount()->willReturn(30);
     $promotionAdjustment->isNeutral()->willReturn(false);
     $taxAdjustment1->getAmount()->willReturn(150);
     $taxAdjustment1->isNeutral()->willReturn(false);
     $taxAdjustment2->getAmount()->willReturn(100);
     $taxAdjustment2->isNeutral()->willReturn(false);
     $orderItemUnit1->getOrderItem()->willReturn($this->getWrappedObject());
     $orderItemUnit1->getTotal()->willReturn(500);
     $orderItemUnit1->getAdjustments('tax')->willReturn(new ArrayCollection([$taxAdjustment1->getWrappedObject()]));
     $orderItemUnit1->getAdjustments('promotion')->willReturn(new ArrayCollection([$promotionAdjustment->getWrappedObject()]));
     $orderItemUnit2->getOrderItem()->willReturn($this->getWrappedObject());
     $orderItemUnit2->getTotal()->willReturn(300);
     $orderItemUnit2->getAdjustments('tax')->willReturn(new ArrayCollection([$taxAdjustment2->getWrappedObject()]));
     $orderItemUnit2->getAdjustments('promotion')->willReturn(new ArrayCollection());
     $this->addAdjustment($adjustment1);
     $this->addUnit($orderItemUnit1);
     $this->addUnit($orderItemUnit2);
     $this->getAdjustmentsTotalRecursively('tax')->shouldReturn(450);
     $this->getAdjustmentsTotalRecursively('promotion')->shouldReturn(30);
 }