function it_does_nothing_if_target_quantity_is_below_0(OrderItemUnitFactoryInterface $orderItemUnitFactory, OrderItemInterface $orderItem) { $orderItem->getQuantity()->willReturn(3); $orderItemUnitFactory->createForItem(Argument::any())->shouldNotBeCalled(); $orderItem->addUnit(Argument::any())->shouldNotBeCalled(); $orderItem->removeUnit(Argument::any())->shouldNotBeCalled(); $this->modify($orderItem, -10); }
/** * @param OrderItemInterface $orderItem * @param int $increaseBy */ private function increaseUnitsNumber(OrderItemInterface $orderItem, $increaseBy) { for ($i = 0; $i < $increaseBy; ++$i) { $unit = $this->orderItemUnitFactory->createForItem($orderItem); if ($orderItem instanceof OrderItem) { /** @var AdjustmentInterface $adjustment */ $adjustment = $this->adjustmentFactory->createNew(); $adjustment->setType('tax'); $adjustment->setAmount($orderItem->getProduct()->getTax()); $unit->addAdjustment($adjustment); } } }
/** * @param OrderItemInterface $orderItem * @param int $increaseBy */ private function increaseUnitsNumber(OrderItemInterface $orderItem, $increaseBy) { for ($i = 0; $i < $increaseBy; ++$i) { $this->orderItemUnitFactory->createForItem($orderItem); } }