/**
  * Verify displayed product name on product page(front-end) equals passed from fixture
  *
  * @return string|null
  */
 protected function verifyName()
 {
     $fixtureProductName = $this->product->getName();
     $formProductName = $this->productView->getProductName();
     if ($fixtureProductName == $formProductName) {
         return null;
     }
     return "Displayed product name on product page(front-end) not equals passed from fixture. " . "Actual: {$formProductName}, expected: {$fixtureProductName}.";
 }
 /**
  * Assert that products generated during configurable product creation - are not visible on frontend(by default).
  *
  * @param CatalogSearchResult $catalogSearchResult
  * @param CmsIndex $cmsIndex
  * @param ConfigurableProductInjectable $product
  * @return void
  */
 public function processAssert(CatalogsearchResult $catalogSearchResult, CmsIndex $cmsIndex, ConfigurableProductInjectable $product)
 {
     $configurableAttributesData = $product->getConfigurableAttributesData();
     $errors = [];
     $cmsIndex->open();
     foreach ($configurableAttributesData['matrix'] as $variation) {
         $cmsIndex->getSearchBlock()->search($variation['sku']);
         $isVisibleProduct = $catalogSearchResult->getListProductBlock()->isProductVisible($variation['name']);
         while (!$isVisibleProduct && $catalogSearchResult->getBottomToolbar()->nextPage()) {
             $isVisibleProduct = $catalogSearchResult->getListProductBlock()->isProductVisible($product->getName());
         }
         if ($isVisibleProduct) {
             $errors[] = sprintf("\nChild product with sku: \"%s\" is visible on frontend(by default).", $variation['sku']);
         }
     }
     \PHPUnit_Framework_Assert::assertEmpty($errors, implode(' ', $errors));
 }