Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
AssertCmsPagePreview.php
Go to the documentation of this file.
1 <?php
8 
10 use Magento\Cms\Test\Page\Adminhtml\CmsPageIndex;
11 use Magento\Cms\Test\Page\CmsIndex as FrontCmsIndex;
12 use Magento\Cms\Test\Page\CmsPage as FrontCmsPage;
13 use Magento\Mtf\Client\BrowserInterface;
14 use Magento\Mtf\Constraint\AbstractConstraint;
15 
19 class AssertCmsPagePreview extends AbstractConstraint
20 {
21  /* tags */
22  const SEVERITY = 'low';
23  /* end tags */
24 
36  public function processAssert(
37  CmsPageIndex $cmsIndex,
38  FrontCmsIndex $frontCmsIndex,
39  FrontCmsPage $frontCmsPage,
40  CmsPage $cms,
41  BrowserInterface $browser,
42  $displayContent = null
43  ) {
44  $cmsIndex->open();
45  $filter = ['title' => $cms->getTitle()];
46  $cmsIndex->getCmsPageGridBlock()->searchAndPreview($filter);
47  $browser->selectWindow();
48 
49  $fixtureContent = $cms->getContent();
50  \PHPUnit\Framework\Assert::assertContains(
51  $displayContent != null ? $displayContent : $fixtureContent['content'],
52  $frontCmsPage->getCmsPageBlock()->getPageContent(),
53  'Wrong content is displayed.'
54  );
55  if (isset($fixtureContent['widget'])) {
56  foreach ($fixtureContent['widget']['dataset'] as $widget) {
57  \PHPUnit\Framework\Assert::assertTrue(
58  $frontCmsPage->getCmsPageBlock()->isWidgetVisible($widget['widget_type'], $widget['anchor_text']),
59  'Widget \'' . $widget['widget_type'] . '\' is not displayed.'
60  );
61  }
62  }
63  if ($cms->getContentHeading()) {
64  \PHPUnit\Framework\Assert::assertEquals(
65  $cms->getContentHeading(),
66  $frontCmsIndex->getTitleBlock()->getTitle(),
67  'Wrong title is displayed.'
68  );
69  }
70  }
71 
77  public function toString()
78  {
79  return 'CMS Page content equals to data from fixture.';
80  }
81 }
processAssert(CmsPageIndex $cmsIndex, FrontCmsIndex $frontCmsIndex, FrontCmsPage $frontCmsPage, CmsPage $cms, BrowserInterface $browser, $displayContent=null)