/** * Check whether there is an opportunity to compare products using given attribute. * * @param InjectableFixture $product * @param CatalogProductAttribute $attribute * @param BrowserInterface $browser * @param CatalogProductView $catalogProductView * @param CatalogProductCompare $catalogProductCompare * @return void */ public function processAssert(InjectableFixture $product, CatalogProductAttribute $attribute, BrowserInterface $browser, CatalogProductView $catalogProductView, CatalogProductCompare $catalogProductCompare) { $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); $catalogProductView->getViewBlock()->clickAddToCompare(); $catalogProductCompare->open(); $label = $attribute->hasData('manage_frontend_label') ? $attribute->getManageFrontendLabel() : $attribute->getFrontendLabel(); \PHPUnit_Framework_Assert::assertTrue($catalogProductCompare->getCompareProductsBlock()->isAttributeVisible($label), 'Attribute is absent on product compare page.'); }
/** * Assert that "Compare Product" page contains product(s) that was added: * - Product name * - Price * - SKU * - Description (if exists, else text "No") * - Short Description (if exists, else text "No") * * @param CatalogProductCompare $comparePage * @param array $products * @return void * * @SuppressWarnings(PHPMD.NPathComplexity) */ public function processAssert(CatalogProductCompare $comparePage, array $products) { $this->comparePage = $comparePage; $comparePage->open(); foreach ($products as $key => $product) { $attributeData = $this->prepareAttributeData($product, $key); \PHPUnit_Framework_Assert::assertEquals($attributeData['attributeValues'], $attributeData['attributeValuesFromPage'], "Product {$product->getName()} is not equals with data from fixture."); } }