/**
  * Assert that displayed banner data on edit page equals passed from fixture.
  *
  * @param BannerWidget $widget
  * @param WidgetInstanceIndex $widgetInstanceIndex
  * @param WidgetInstanceEdit $widgetInstanceEdit
  * @return void
  */
 public function processAssert(BannerWidget $widget, WidgetInstanceIndex $widgetInstanceIndex, WidgetInstanceEdit $widgetInstanceEdit)
 {
     $widgetInstanceIndex->open();
     $widgetInstanceIndex->getWidgetGrid()->searchAndOpen(['title' => $widget->getTitle()]);
     $formData = $widgetInstanceEdit->getWidgetForm()->getData($widget);
     $fixtureData = $this->prepareData($widget->getData());
     $errors = $this->verifyData($fixtureData, $formData);
     \PHPUnit_Framework_Assert::assertEmpty($errors, $errors);
 }
 /**
  * Removing widget, catalog rules and sales rules.
  *
  * @return void
  */
 public function tearDown()
 {
     if ($this->widget !== null) {
         $this->objectManager->create('Mage\\Widget\\Test\\TestStep\\DeleteAllWidgetsStep')->run();
         if ($this->widget->getWidgetOptions()[0]['entities'][0]->hasData('banner_catalog_rules')) {
             $this->objectManager->create('Mage\\CatalogRule\\Test\\TestStep\\DeleteAllCatalogRulesStep')->run();
         }
         if ($this->widget->getWidgetOptions()[0]['entities'][0]->hasData('banner_sales_rules')) {
             $this->objectManager->create('Mage\\SalesRule\\Test\\TestStep\\DeleteAllSalesRuleStep')->run();
         }
     }
 }
 /**
  * Assert that created Banner Rotator widget displayed on frontend on Product page.
  *
  * @param CatalogProductView $productView
  * @param Browser $browser
  * @param BannerWidget $widget
  * @param Cache $adminCache
  * @return void
  */
 public function processAssert(CatalogProductView $productView, Browser $browser, BannerWidget $widget, Cache $adminCache)
 {
     // Flush cache
     $adminCache->open();
     $adminCache->getPageActions()->flushCacheStorage();
     $adminCache->getMessagesBlock()->waitSuccessMessage();
     $layouts = $widget->getLayout();
     foreach ($layouts as $layout) {
         foreach ($layout['entities'] as $layoutEntity) {
             $urlKey = $layoutEntity['url_key'];
             $browser->open($_ENV['app_frontend_url'] . $urlKey . '.html');
             $errors = $productView->getWidgetView()->checkWidget($widget, $layoutEntity['url_key']);
             \PHPUnit_Framework_Assert::assertEmpty($errors, implode(" ", $errors));
         }
     }
 }