/**
  * Assert that result page contains product, according to search request from fixture.
  *
  * @param CatalogSearchQuery $catalogSearch
  * @param AdvancedResult $resultPage
  * @return void
  */
 public function processAssert(CatalogSearchQuery $catalogSearch, AdvancedResult $resultPage)
 {
     $product = $catalogSearch->getDataFieldConfig('query_text')['source']->getProduct();
     $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible();
     while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()) {
         $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible();
     }
     \PHPUnit_Framework_Assert::assertTrue($isProductVisible, "A product with name '" . $product->getName() . "' was not found.");
 }
 /**
  * Assert product can be opened from search results page.
  *
  * @param CatalogSearchQuery $catalogSearch
  * @param AdvancedResult $resultPage
  * @param CatalogProductView $catalogProductViewPage
  * @return void
  */
 public function processAssert(CatalogSearchQuery $catalogSearch, AdvancedResult $resultPage, CatalogProductView $catalogProductViewPage)
 {
     $product = $catalogSearch->getDataFieldConfig('query_text')['source']->getProduct();
     $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible();
     while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage()) {
         $isProductVisible = $resultPage->getListProductBlock()->getProductItem($product)->isVisible();
     }
     $productName = $product->getName();
     \PHPUnit_Framework_Assert::assertTrue($isProductVisible, "A product with name {$productName} was not found.");
     $resultPage->getListProductBlock()->getProductItem($product)->open();
     \PHPUnit_Framework_Assert::assertEquals($productName, $catalogProductViewPage->getViewBlock()->getProductName(), 'Wrong product page has been opened.');
 }