add test for createneworderitems

This commit is contained in:
lubiana 2025-06-10 19:20:44 +02:00
parent 8063e7bec9
commit 0c758749e0
Signed by: lubiana
SSH key fingerprint: SHA256:vW1EA0fRR3Fw+dD/sM0K+x3Il2gSry6YRYHqOeQwrfk
2 changed files with 99 additions and 4 deletions

View file

@ -19,12 +19,17 @@ final readonly class CreateNewOrderItems
public function __invoke(Order $order): void
{
new ArrayCollection($this->drinkTypeRepository->findWanted())->forAll(
fn (DrinkType $drinkType) => $order
->addOrderItem(
function (int $index, DrinkType $drinkType) use ($order) {
$quantity = $drinkType->getWantedStock() - $drinkType->getCurrentStock();
if ($quantity > 0) {
$order->addOrderItem(
new OrderItem()
->setDrinkType($drinkType)
->setQuantity($drinkType->getWantedStock() - $drinkType->getCurrentStock())
),
->setQuantity($quantity)
);
}
return true; // Required for forAll to continue iterating
}
);
}
}