Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertProductIsNotVisibleInCompareBlock.php
Go to the documentation of this file.
1 <?php
8 
9 use Magento\Cms\Test\Page\CmsIndex;
10 use Magento\Customer\Test\Page\CustomerAccountIndex;
11 use Magento\Mtf\Constraint\AbstractConstraint;
12 use Magento\Mtf\Fixture\FixtureInterface;
13 
18 class AssertProductIsNotVisibleInCompareBlock extends AbstractConstraint
19 {
20  const SUCCESS_MESSAGE = 'You have no items to compare.';
21 
31  public function processAssert(
32  CmsIndex $cmsIndex,
33  CustomerAccountIndex $customerAccountIndex,
34  $countProducts = 0,
35  FixtureInterface $product = null
36  ) {
37  $cmsIndex->open();
38  $cmsIndex->getLinksBlock()->openLink("My Account");
39  $compareBlock = $customerAccountIndex->getCompareProductsBlock();
40 
41  if (($countProducts > 1) && ($product !== null)) {
42  \PHPUnit\Framework\Assert::assertFalse(
43  $compareBlock->isProductVisibleInCompareBlock($product->getName()),
44  'The product displays on Compare Products block on my account page.'
45  );
46  } else {
47  \PHPUnit\Framework\Assert::assertEquals(
48  self::SUCCESS_MESSAGE,
49  $compareBlock->getEmptyMessage(),
50  'The product displays on Compare Products block on my account page.'
51  );
52  }
53  }
54 
60  public function toString()
61  {
62  return 'The message appears on Compare Products block on my account page.';
63  }
64 }
processAssert(CmsIndex $cmsIndex, CustomerAccountIndex $customerAccountIndex, $countProducts=0, FixtureInterface $product=null)