Exemplo n.º 1
0
 /**
  * Add created variable to page and assert that Custom Variable is displayed on frontend page and has
  * correct data according to dataset.
  *
  * @param SystemVariable $customVariable
  * @param CmsIndex $cmsIndex
  * @param SystemVariable $variable
  * @param FixtureFactory $fixtureFactory
  * @param Browser $browser
  * @param Store $storeOrigin
  * @param SystemVariable $customVariableOrigin
  * @return void
  */
 public function processAssert(SystemVariable $customVariable, CmsIndex $cmsIndex, SystemVariable $variable, FixtureFactory $fixtureFactory, Browser $browser, Store $storeOrigin = null, SystemVariable $customVariableOrigin = null)
 {
     $cmsPage = $fixtureFactory->createByCode('cmsPage', ['dataSet' => 'default', 'data' => ['content' => '{{customVar code=' . $customVariable->getCode() . '}}']]);
     $cmsPage->persist();
     $url = $_ENV['app_frontend_url'] . $cmsPage->getIdentifier();
     $browser->open($url);
     $cmsIndex->getStoreSwitcherBlock()->selectStoreView('Default Store View');
     $htmlValue = $customVariableOrigin !== null ? $this->getHtmlValue($customVariable, $customVariableOrigin) : strip_tags($customVariable->getHtmlValue());
     $pageContent = $cmsIndex->getMainContentBlock()->getPageContent();
     $this->checkVariable($htmlValue, $pageContent);
     if ($storeOrigin !== null) {
         $cmsIndex->getStoreSwitcherBlock()->selectStoreView($storeOrigin->getName());
         $htmlValue = strip_tags($customVariable->getHtmlValue());
         if ($htmlValue === '') {
             $htmlValue = strip_tags($variable->getHtmlValue());
         }
         $pageContent = $cmsIndex->getMainContentBlock()->getPageContent();
         $this->checkVariable($htmlValue, $pageContent);
     }
 }