9 use Magento\Mtf\Constraint\AbstractConstraint;
10 use Magento\CatalogSearch\Test\Page\AdvancedResult;
11 use Magento\Catalog\Test\Page\Product\CatalogProductView;
33 CatalogSearchQuery $catalogSearch,
34 AdvancedResult $resultPage,
35 CatalogProductView $catalogProductView
37 $product = $catalogSearch->getDataFieldConfig(
'query_text')[
'source']->getFirstProduct();
40 $isProductVisible = $resultPage->getListProductBlock()->getProductItem(
$product)->isVisible();
41 }
while (!$isProductVisible && $resultPage->getBottomToolbar()->nextPage());
45 \PHPUnit\Framework\Assert::assertTrue($isProductVisible,
"A product with name $productName was not found.");
46 $resultPage->getListProductBlock()->getProductItem(
$product)->clickAddToCart();
47 $catalogProductView->getViewBlock()->waitLoader();
48 if (isset(
$product->getCheckoutData()[
'options'])) {
49 $catalogProductView->getViewBlock()->addToCart(
$product);
50 $message = $catalogProductView->getMessagesBlock()->getSuccessMessage();
52 $message = $resultPage->getMessagesBlock()->getSuccessMessage();
55 \PHPUnit\Framework\Assert::assertEquals(
56 sprintf(self::SUCCESS_MESSAGE, $productName),
68 return 'Product was successfully added to cart from the search results page.';
processAssert(CatalogSearchQuery $catalogSearch, AdvancedResult $resultPage, CatalogProductView $catalogProductView)