/** * Validation page displaying the search data * * @param array $searchResult * @param CatalogProductSimple $productSearch * @return array */ protected function checkSearchData(array $searchResult, CatalogProductSimple $productSearch) { $searchBlock = $this->resultPage->getSearchResultBlock(); $errors = []; $textMessage = self::NOTICE_MESSAGE; if (empty($searchResult)) { $textMessage = self::ERROR_MESSAGE; } if (!$searchBlock->isVisibleMessages($textMessage)) { $errors[] = '- message does not match the search script'; } $searchData = $searchBlock->getSearchSummaryItems(); $productData = $this->prepareFixtureData($productSearch); foreach ($productData as $key => $data) { if ($key === 'tax_class' && $data === ['All']) { continue; } if (!isset($searchData[$key])) { $errors[] = '- "' . $key . '" not found on the page'; } elseif ($searchData[$key] !== $data) { $errors[] = '- "' . $key . '" value does not match the page'; } } return $errors; }
/** * Assert that Advanced Search without results. * * @param AdvancedResult $resultPage * @return void */ public function processAssert(AdvancedResult $resultPage) { \PHPUnit_Framework_Assert::assertTrue($resultPage->getSearchResultBlock()->isVisibleMessages(self::ERROR_MESSAGE), "The error message '" . self::ERROR_MESSAGE . "' is not visible."); }