/** * 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 */ 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(in_array($label, $catalogProductCompare->getCompareProductsBlock()->getComparableAttributes()), 'Attribute is absent on product compare page.'); }
/** * Assert the product is not displayed on Compare Products page * * @param CatalogProductCompare $comparePage * @param FixtureInterface $product * @param int $countProducts [optional] * @return void */ public function processAssert(CatalogProductCompare $comparePage, FixtureInterface $product, $countProducts = 0) { $comparePage->open(); $compareBlock = $comparePage->getCompareProductsBlock(); if ($countProducts > 1) { \PHPUnit_Framework_Assert::assertFalse($compareBlock->isProductVisibleInCompareBlock($product->getName()), 'The product displays on Compare Products page.'); } else { \PHPUnit_Framework_Assert::assertEquals(self::SUCCESS_MESSAGE, $compareBlock->getEmptyMessage(), 'The product displays on Compare Products page.'); } }
/** * After removing last product message is appeared on "Compare Products" page * * @param CatalogProductCompare $comparePage * @return void */ public function processAssert(CatalogProductCompare $comparePage) { $comparePage->open(); $actualMessage = $comparePage->getCompareProductsBlock()->getEmptyMessage(); \PHPUnit_Framework_Assert::assertEquals(self::SUCCESS_MESSAGE, $actualMessage, 'Wrong success message is displayed.' . "\nExpected: " . self::SUCCESS_MESSAGE . "\nActual: " . $actualMessage); }