Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertProductRatingInProductPage.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Catalog\Test\Page\Product\CatalogProductView;
11 use Magento\Review\Test\Fixture\Rating;
13 use Magento\Mtf\Client\BrowserInterface;
14 use Magento\Mtf\Constraint\AbstractConstraint;
15 
20 class AssertProductRatingInProductPage extends AbstractConstraint
21 {
32  public function processAssert(
33  CatalogProductView $catalogProductView,
34  BrowserInterface $browser,
35  CatalogProductSimple $product,
36  Review $review = null,
37  Rating $productRating = null
38  ) {
39  $browser->open($_ENV['app_frontend_url'] . $product->getUrlKey() . '.html');
40  $reviewSummaryBlock = $catalogProductView->getReviewSummary();
41  if ($reviewSummaryBlock->isVisible()) {
42  $reviewSummaryBlock->getAddReviewLink()->click();
43  }
44  $rating = $productRating ? $productRating : $review->getDataFieldConfig('ratings')['source']->getRatings()[0];
45  $reviewForm = $catalogProductView->getReviewFormBlock();
46  \PHPUnit\Framework\Assert::assertTrue(
47  $reviewForm->isVisibleRating($rating),
48  'Product rating "' . $rating->getRatingCode() . '" is not displayed.'
49  );
50  }
51 
57  public function toString()
58  {
59  return 'Product rating is displayed.';
60  }
61 }
processAssert(CatalogProductView $catalogProductView, BrowserInterface $browser, CatalogProductSimple $product, Review $review=null, Rating $productRating=null)
$rating
Definition: item.phtml:18