function it_returns_adjustments_total_recursively(AdjustmentInterface $itemAdjustment, AdjustmentInterface $orderAdjustment, OrderItemInterface $orderItem) { $itemAdjustment->getAmount()->willReturn(10000); $orderAdjustment->getAmount()->willReturn(5000); $itemAdjustment->isNeutral()->willReturn(false); $orderAdjustment->isNeutral()->willReturn(false); $orderAdjustment->setAdjustable($this)->shouldBeCalled(); $orderItem->getAdjustmentsRecursively(null)->willReturn([$itemAdjustment]); $orderItem->setOrder($this)->shouldBeCalled(); $orderItem->getTotal()->willReturn(15000); $this->addItem($orderItem); $this->addAdjustment($orderAdjustment); $this->getAdjustmentsTotalRecursively()->shouldReturn(15000); }