示例#1
0
 function it_returns_tax_of_all_units_and_both_neutral_and_non_neutral_tax_adjustments(OrderItemUnitInterface $orderItemUnit1, OrderItemUnitInterface $orderItemUnit2, AdjustmentInterface $nonNeutralTaxAdjustment, AdjustmentInterface $neutralTaxAdjustment)
 {
     $orderItemUnit1->getTotal()->willReturn(1200);
     $orderItemUnit1->getTaxTotal()->willReturn(200);
     $orderItemUnit1->getOrderItem()->willReturn($this);
     $orderItemUnit2->getTotal()->willReturn(1120);
     $orderItemUnit2->getTaxTotal()->willReturn(120);
     $orderItemUnit2->getOrderItem()->willReturn($this);
     $this->addUnit($orderItemUnit1);
     $this->addUnit($orderItemUnit2);
     $neutralTaxAdjustment->isNeutral()->willReturn(true);
     $neutralTaxAdjustment->getType()->willReturn(AdjustmentInterface::TAX_ADJUSTMENT);
     $neutralTaxAdjustment->getAmount()->willReturn(200);
     $nonNeutralTaxAdjustment->isNeutral()->willReturn(false);
     $nonNeutralTaxAdjustment->getType()->willReturn(AdjustmentInterface::TAX_ADJUSTMENT);
     $nonNeutralTaxAdjustment->getAmount()->willReturn(300);
     $neutralTaxAdjustment->setAdjustable($this)->shouldBeCalled();
     $nonNeutralTaxAdjustment->setAdjustable($this)->shouldBeCalled();
     $this->addAdjustment($neutralTaxAdjustment);
     $this->addAdjustment($nonNeutralTaxAdjustment);
     $this->getTaxTotal()->shouldReturn(820);
 }