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);
 }