/**
  * Assert that duplicated product can be found in grid by type, template, status and stock status.
  *
  * @param InjectableFixture $product
  * @param CatalogProduct $productGrid
  * @return void
  */
 public function processAssert(InjectableFixture $product, CatalogProduct $productGrid)
 {
     $config = $product->getDataConfig();
     $filter = ['name' => $product->getName(), 'visibility' => $product->getVisibility(), 'status' => 'Disabled', 'type' => ucfirst($config['create_url_params']['type']) . ' Product', 'price_to' => number_format($product->getPrice(), 2)];
     $productGrid->open()->getProductGrid()->search($filter);
     \PHPUnit_Framework_Assert::assertTrue($productGrid->getProductGrid()->isRowVisible($filter, false, false), 'Product duplicate is absent in Products grid.');
 }
Esempio n. 2
0
 /**
  * Prepare data for creating product request.
  *
  * @return void
  */
 protected function prepareData()
 {
     $config = $this->fixture->getDataConfig();
     $this->fields['product']['type_id'] = $config['type_id'];
     $this->prepareFpt();
     $this->prepareAdvancedInventory();
     $this->prepareTierPrice();
     $this->prepareCustomOptions();
 }
Esempio n. 3
0
 /**
  * Get text of Stock Availability control.
  *
  * @param InjectableFixture $product
  * @return string
  */
 public function getStockAvailability(InjectableFixture $product)
 {
     $dataConfig = $product->getDataConfig();
     $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null;
     return $this->hasRender($typeId) ? $this->callRender($typeId, 'get' . ucfirst($typeId) . 'StockAvailability') : strtolower($this->_rootElement->find($this->stockAvailability)->getText());
 }
Esempio n. 4
0
 /**
  * Prepare config data.
  *
  * @param InjectableFixture $product
  * @return array
  */
 protected function prepareConfig(InjectableFixture $product)
 {
     $config = $product->getDataConfig();
     if ($product->hasData('attribute_set_id')) {
         $config['create_url_params']['set'] = $product->getDataFieldConfig('attribute_set_id')['source']->getAttributeSet()->getAttributeSetId();
     }
     return $config;
 }
 /**
  * Get product type
  *
  * @return string
  */
 protected function getProductType()
 {
     $config = $this->product->getDataConfig();
     return ucfirst($config['type_id']) . ' Product';
 }
Esempio n. 6
0
 /**
  * Get cart item block.
  *
  * @param InjectableFixture $product
  * @return CartItem
  */
 public function getCartItem(InjectableFixture $product)
 {
     $dataConfig = $product->getDataConfig();
     $typeId = isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null;
     $cartItem = null;
     if ($this->hasRender($typeId)) {
         $cartItem = $this->callRender($typeId, 'getCartItem', ['product' => $product]);
     } else {
         $cartItemBlock = $this->_rootElement->find(sprintf($this->cartItemByProductName, $product->getName()), Locator::SELECTOR_XPATH);
         $cartItem = $this->blockFactory->create($this->cartItemClass, ['element' => $cartItemBlock]);
     }
     return $cartItem;
 }
 /**
  * Get product type.
  *
  * @param InjectableFixture $product
  * @return string|null
  */
 protected function getProductType(InjectableFixture $product)
 {
     $dataConfig = $product->getDataConfig();
     return isset($dataConfig['type_id']) ? $dataConfig['type_id'] : null;
 }