Exemple #1
0
 /**
  * @Given /^(this product) is available in "([^"]+)" size priced at ("[^"]+")$/
  */
 public function thisProductIsAvailableInSize(ProductInterface $product, $optionValueName, $price)
 {
     /** @var ProductVariantInterface $variant */
     $variant = $this->productVariantFactory->createNew();
     $optionValue = $this->sharedStorage->get(sprintf('%s_option_value', $optionValueName));
     $variant->addOption($optionValue);
     $variant->setPrice($price);
     $variant->setCode(sprintf("%s_%s", $product->getCode(), $optionValueName));
     $product->addVariant($variant);
     $this->objectManager->flush();
 }
 /**
  * @Then /^(this product) should not exist in the product catalog$/
  */
 public function productShouldNotExist(ProductInterface $product)
 {
     $this->iWantToBrowseProducts();
     Assert::false($this->indexPage->isSingleResourceOnPage(['code' => $product->getCode()]), sprintf('Product with code %s exists but should not.', $product->getCode()));
 }
Exemple #3
0
 /**
  * @Given /^([^"]+) gives ("[^"]+%") off on a ("[^"]*" product)$/
  */
 public function itGivesPercentageDiscountOffOnAProduct(PromotionInterface $promotion, $discount, ProductInterface $product)
 {
     $this->createUnitPercentagePromotion($promotion, $discount, $this->getProductsFilterConfiguration([$product->getCode()]));
 }
Exemple #4
0
 /**
  * @Given the :product product's :optionValueName size belongs to :shippingCategory shipping category
  * @Given /^(this product) "([^"]+)" size belongs to ("([^"]+)" shipping category)$/
  */
 public function thisProductSizeBelongsToShippingCategory(ProductInterface $product, $optionValueName, ShippingCategoryInterface $shippingCategory)
 {
     $code = sprintf("%s_%s", $product->getCode(), $optionValueName);
     /** @var ProductVariantInterface $productVariant */
     $productVariant = $product->getVariants()->filter(function ($variant) use($code) {
         return $code === $variant->getCode();
     })->first();
     Assert::notNull($productVariant, sprintf('Product variant with given code %s not exists!', $code));
     $productVariant->setShippingCategory($shippingCategory);
     $this->objectManager->flush();
 }
 function it_reverse_transforms_into_array_of_products_codes(ProductInterface $axes, ProductInterface $shields)
 {
     $axes->getCode()->willReturn('axes');
     $shields->getCode()->willReturn('shields');
     $this->reverseTransform(new ArrayCollection([$axes->getWrappedObject(), $shields->getWrappedObject()]))->shouldReturn(['axes', 'shields']);
 }