/**
  * Assert that product available by new URL on the frontend.
  *
  * @param Browser $browser
  * @param UrlRewrite $urlRewrite
  * @param CatalogProductSimple $product
  * @param CatalogProductView $catalogProductView
  * @param CmsIndex $cmsIndex
  * @param Cache $cachePage
  * @return void
  */
 public function processAssert(Browser $browser, UrlRewrite $urlRewrite, CatalogProductSimple $product, CatalogProductView $catalogProductView, CmsIndex $cmsIndex, Cache $cachePage)
 {
     $cachePage->open()->getPageActions()->flushCacheStorage();
     if ($urlRewrite->hasData('store_id')) {
         $storePath = explode('/', $urlRewrite->getStoreId());
         $cmsIndex->open();
         $cmsIndex->getHeaderBlock()->selectStore($storePath[2]);
     }
     $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath());
     \PHPUnit_Framework_Assert::assertEquals($catalogProductView->getViewBlock()->getProductName(), strtoupper($product->getName()), 'URL rewrite product redirect false.');
 }
 /**
  * Run update product URL rewrite test.
  *
  * @param UrlRewrite $urlRewriteOrigin
  * @param UrlRewrite $urlRewrite
  * @return array
  */
 public function test(UrlRewrite $urlRewriteOrigin, UrlRewrite $urlRewrite)
 {
     //Preconditions
     $urlRewriteOrigin->persist();
     //Steps
     $this->urlRewriteIndex->open();
     $filter = ['request_path' => $urlRewriteOrigin->getIdentifier()];
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getEditForm()->fill($urlRewrite);
     $this->urlRewriteEdit->getFormPageActions()->save();
     // Create new url rewrite fixture for asserts
     $data = array_merge($urlRewriteOrigin->getData(), $urlRewrite->getData());
     $data['target_path'] = ['custom' => $urlRewriteOrigin->getTargetPath(), 'readyEntity' => $urlRewriteOrigin->getDataFieldConfig('target_path')['source']->getEntity()];
     $data['store_id'] = ['data' => $urlRewriteOrigin->getStoreId()];
     $urlRewrite = $this->fixtureFactory->createByCode('urlRewrite', ['data' => $data]);
     return ['urlRewrite' => $urlRewrite];
 }