private function reserveProductsFromInventory(Order $order) { foreach ($order->getOrderItems() as $orderItem) { $this->inventoryService->reserveProduct($orderItem->getProduct(), $orderItem->getQuantity()); foreach ($orderItem->getOrderItemOptionProducts() as $orderItemOptionProduct) { $this->inventoryService->reserveProduct($orderItemOptionProduct->getOptionProduct()->getProduct(), $orderItem->getQuantity()); } } }
public function testReserveProductThrowsExceptionIfInsufficientInventory() { $product = $this->dummyData->getProduct(); $this->setExpectedException(InsufficientInventoryException::class, 'Insufficient Inventory'); $this->inventoryService->reserveProduct($product, 2); }