Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertMapOnCategoryPage.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Cms\Test\Page\CmsIndex;
11 use Magento\Mtf\Constraint\AbstractConstraint;
12 use Magento\Mtf\Fixture\InjectableFixture;
13 use Magento\Catalog\Test\Page\Category\CatalogCategoryView;
14 
18 class AssertMapOnCategoryPage extends AbstractConstraint
19 {
28  public function processAssert(
29  CmsIndex $cmsIndex,
30  CatalogCategoryView $catalogCategoryView,
31  InjectableFixture $product
32  ) {
34  $cmsIndex->open();
35  $cmsIndex->getTopmenu()->selectCategoryByName($product->getCategoryIds()[0]);
36 
37  $productBlock = $catalogCategoryView->getMsrpListProductBlock()->getProductItem($product);
38  $productBlock->openMapBlock();
39  $mapBlock = $productBlock->getMapBlock();
40  \PHPUnit\Framework\Assert::assertEquals(
41  $product->getMsrp(),
42  $mapBlock->getOldPrice(),
43  'Displayed on Category page MAP is incorrect.'
44  );
45  $priceData = $product->getDataFieldConfig('price')['source']->getPriceData();
46  $price = isset($priceData['category_price']) ? $priceData['category_price'] : $product->getPrice();
47  \PHPUnit\Framework\Assert::assertEquals(
48  $price,
49  $mapBlock->getActualPrice(),
50  'Displayed on Category page price is incorrect.'
51  );
52  }
53 
59  public function toString()
60  {
61  return "Displayed Product MAP data on category page is correct.";
62  }
63 }
$price