/** * Assert that product review Not available on product page * * @param CatalogProductView $catalogProductView * @param ReviewInjectable $reviewInitial * @param Browser $browser * @return void */ public function processAssert(CatalogProductView $catalogProductView, ReviewInjectable $reviewInitial, Browser $browser) { /** @var CatalogProductSimple $product */ $product = $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); $reviewBlock = $catalogProductView->getCustomerReviewBlock(); $catalogProductView->getViewBlock()->selectTab('Reviews'); \PHPUnit_Framework_Assert::assertFalse($reviewBlock->isVisibleReviewItem(), 'Error, product review is displayed.'); }
/** * Assert that product review available on product page * * @param CatalogProductView $catalogProductView * @param ReviewInjectable $review * @param FixtureInterface $product * @param Browser $browser * @param AdminCache $cachePage * @return void */ public function processAssert(CatalogProductView $catalogProductView, ReviewInjectable $review, FixtureInterface $product, Browser $browser, AdminCache $cachePage) { $errors = []; $cachePage->open()->getActionsBlock()->flushMagentoCache(); $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); $reviewBlock = $catalogProductView->getCustomerReviewBlock(); $catalogProductView->getViewBlock()->selectTab('Reviews'); foreach ($review->getData() as $name => $value) { $reviewValue = $reviewBlock->getFieldValue($name); if ($reviewValue !== null && 0 !== strcasecmp($value, trim($reviewValue))) { $errors[] = '- field "' . $name . '" is not equals submitted one, error value "' . $value . '"'; } } \PHPUnit_Framework_Assert::assertEmpty($errors, 'The Review contains the following errors:' . PHP_EOL . implode(PHP_EOL, $errors)); }
/** * Assert that product review available on product page * * @param CatalogProductView $catalogProductView * @param ReviewInjectable $review * @param ReviewInjectable $reviewInitial * @param Browser $browser * @return void */ public function processAssert(CatalogProductView $catalogProductView, ReviewInjectable $review, ReviewInjectable $reviewInitial, Browser $browser) { $errors = []; /** @var CatalogProductSimple $product */ $product = $reviewInitial->getDataFieldConfig('entity_id')['source']->getEntity(); $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html'); $reviewBlock = $catalogProductView->getCustomerReviewBlock(); $catalogProductView->getViewBlock()->selectTab('Reviews'); foreach ($review->getData() as $name => $value) { $reviewValue = $reviewBlock->getFieldValue($name); if ($reviewValue !== null && 0 !== strcasecmp($value, trim($reviewValue))) { $errors[] = '- field "' . $name . '" is not equals submitted one, error value "' . $value . '"'; } } \PHPUnit_Framework_Assert::assertEmpty($errors, 'The Review contains the following errors:' . PHP_EOL . implode(PHP_EOL, $errors)); }
/** * Assert that product doesn't have a review on product page. * * @param CatalogProductView $catalogProductView * @return void */ public function processAssert(CatalogProductView $catalogProductView) { $catalogProductView->getViewBlock()->selectTab('Reviews'); \PHPUnit_Framework_Assert::assertFalse($catalogProductView->getCustomerReviewBlock()->isVisibleReviewItem(), 'No reviews below the form required.'); \PHPUnit_Framework_Assert::assertEquals(self::NO_REVIEW_LINK_TEXT, trim($catalogProductView->getReviewSummary()->getAddReviewLink()->getText()), sprintf('"%s" link is not available', self::NO_REVIEW_LINK_TEXT)); }