/** * @Given /^([^"]+) belongs to ("[^"]+" tax category)$/ */ public function productBelongsToTaxCategory(ProductInterface $product, TaxCategoryInterface $taxCategory) { $product->getFirstVariant()->setTaxCategory($taxCategory); $this->objectManager->flush(); }
/** * @Given the customer bought a single :product using :coupon coupon */ public function theCustomerBoughtSingleUsing(ProductInterface $product, CouponInterface $coupon) { $order = $this->addProductVariantToOrder($product->getFirstVariant(), $product->getPrice()); $order->setPromotionCoupon($coupon); $this->orderRecalculator->recalculate($order); $this->objectManager->flush(); }
/** * @Then /^there should be no units of (this product) on hold$/ */ public function thereShouldBeNoUnitsOfThisProductOnHold(ProductInterface $product) { Assert::eq(0, $this->indexPage->getOnHoldQuantityFor($product->getFirstVariant()), sprintf('Unexpected on hand quantity for "%s" variant. It should be "%s" but is "%s"', $product->getFirstVariant()->getName(), 0, $this->indexPage->getOnHandQuantityFor($product->getFirstVariant()))); }
/** * @param ProductInterface $product * @param int $quantity */ private function setProductsQuantity(ProductInterface $product, $quantity) { $product->getFirstVariant()->setOnHand($quantity); $this->saveProduct($product); }
/** * @Then the order item with product :product should not exist */ public function orderItemShouldNotExistInTheRegistry(ProductInterface $product) { $orderItems = $this->orderItemRepository->findBy(['variant' => $product->getFirstVariant()]); expect($orderItems)->toBe([]); }
/** * @param ProductInterface $product * @param array $data */ private function configureProductPricingCalculator(ProductInterface $product, array $data) { $product->getFirstVariant()->setPricingCalculator($data['pricing calculator']); if (!isset($data['calculator configuration']) || '' === $data['calculator configuration']) { throw new \InvalidArgumentException('You must set chosen calculator configuration'); } $product->getFirstVariant()->setPricingConfiguration($this->getPricingCalculatorConfiguration($data)); }