/** * Verify displayed product sku on product page(front-end) equals passed from fixture * * @return string|null */ protected function verifySku() { $fixtureProductSku = $this->product->getSku(); $formProductSku = $this->productView->getProductSku(); if ($fixtureProductSku === null || $fixtureProductSku == $formProductSku) { return null; } return "Displayed product sku on product page(front-end) not equals passed from fixture. " . "Actual: {$formProductSku}, expected: {$fixtureProductSku}."; }
/** * Update product. * * @param ConfigurableProduct $product * @return void */ protected function updateProduct(ConfigurableProduct $product) { //open product $filter = ['sku' => $this->initialProduct->getSku()]; $this->productGrid->open(); $this->productGrid->getProductGrid()->searchAndOpen($filter); //update $productForm = $this->catalogProductEdit->getProductForm(); $productForm->openSection('variations'); /** @var Config $variationsSection */ $variationsSection = $productForm->getSection('variations'); $variationsSection->deleteVariations(); $this->catalogProductEdit->getProductForm()->fill($product); }
/** * Assert existing product on admin product grid * * @param ConfigurableProduct $product * @return void */ protected function assertOnGrid(ConfigurableProduct $product) { //Search data $configurableSearch = ['sku' => $product->getSku(), 'type' => 'Configurable Product']; $variationSkus = $product->getVariationSkus(); //Page & Block $productGridPage = Factory::getPageFactory()->getCatalogProductIndex(); $productGridPage->open(); /** @var \Magento\Catalog\Test\Block\Adminhtml\Product\Grid */ $gridBlock = $productGridPage->getProductGrid(); //Assertion $this->assertTrue($gridBlock->isRowVisible($configurableSearch), 'Configurable product was not found.'); foreach ($variationSkus as $sku) { $this->assertTrue($gridBlock->isRowVisible(['sku' => $sku, 'type' => 'Simple Product']), 'Variation with sku "' . $sku . '" was not found.'); } }