9 use Magento\CatalogSearch\Test\Page\AdvancedResult;
10 use Magento\Mtf\Constraint\AbstractConstraint;
31 array $isVisibleInAdvancedSearch,
33 AdvancedResult $resultPage
35 $expectedResult = $this->prepareExpectedResult($isVisibleInAdvancedSearch, $allProducts);
36 $foundedProducts = $this->advancedSearchProducts($resultPage, $allProducts);
37 \PHPUnit\Framework\Assert::assertEquals(
40 'Expected and founded products not the same.' 41 .
"\nExpected: " . print_r($expectedResult)
42 .
"\nActual: " . print_r($foundedProducts)
53 private function prepareExpectedResult(array $isVisibleInAdvancedSearch, array
$products)
56 foreach ($isVisibleInAdvancedSearch as $key =>
$value) {
58 $expectedResult[] = sprintf(self::FOUNDED_PRODUCT_MESSAGE,
$products[$key]->getName());
61 sort($expectedResult);
62 return $expectedResult;
72 private function advancedSearchProducts(AdvancedResult $resultPage, array $allProducts)
75 $foundedProducts = [];
78 foreach ($allProducts as $key =>
$product) {
79 $isProductVisible = $resultPage->getListProductBlock()->getProductItem(
$product)->isVisible();
80 if ($isProductVisible) {
81 $foundedProducts[] = sprintf(self::FOUNDED_PRODUCT_MESSAGE,
$products[$key]->getName());
85 foreach ($dirtKeys as $key) {
88 }
while ($resultPage->getBottomToolbar()->nextPage() && (count(
$products) > 0));
90 sort($foundedProducts);
91 return $foundedProducts;
101 return 'All products are involved in the search were found successfully.';
processAssert(array $isVisibleInAdvancedSearch, array $allProducts, AdvancedResult $resultPage)
const FOUNDED_PRODUCT_MESSAGE