function it_returns_only_sum_of_neutral_and_non_neutral_tax_adjustments_as_tax_total(OrderItemInterface $orderItem, AdjustmentInterface $nonNeutralTaxAdjustment, AdjustmentInterface $neutralTaxAdjustment, AdjustmentInterface $notTaxAdjustment) { $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); $notTaxAdjustment->isNeutral()->willReturn(false); $notTaxAdjustment->getType()->willReturn(AdjustmentInterface::ORDER_PROMOTION_ADJUSTMENT); $notTaxAdjustment->getAmount()->willReturn(100); $orderItem->recalculateUnitsTotal()->shouldBeCalled(); $neutralTaxAdjustment->setAdjustable($this)->shouldBeCalled(); $nonNeutralTaxAdjustment->setAdjustable($this)->shouldBeCalled(); $notTaxAdjustment->setAdjustable($this)->shouldBeCalled(); $this->addAdjustment($neutralTaxAdjustment); $this->addAdjustment($nonNeutralTaxAdjustment); $this->addAdjustment($notTaxAdjustment); $this->getTaxTotal()->shouldReturn(500); }