/** * 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.'); }