/**
  * Assert that created entity was found on search page
  *
  * @param UrlRewrite $initialRewrite
  * @param UrlRewrite $urlRewrite
  * @param Browser $browser
  * @param CatalogCategoryView $categoryView
  * @return void
  */
 public function processAssert(UrlRewrite $initialRewrite, UrlRewrite $urlRewrite, Browser $browser, CatalogCategoryView $categoryView)
 {
     $urlRequestPath = $urlRewrite->hasData('request_path') ? $urlRewrite->getRequestPath() : $initialRewrite->getRequestPath();
     $browser->open($_ENV['app_frontend_url'] . $urlRequestPath);
     $entity = $initialRewrite->getDataFieldConfig('id_path')['source']->getEntity()->getName();
     \PHPUnit_Framework_Assert::assertTrue($categoryView->getListProductBlock()->isProductVisible($entity), "Created entity '{$entity}' isn't found.");
 }
 /**
  * Check that product available by new URL on the front
  *
  * @param UrlRewrite $urlRewrite
  * @param CatalogProductView $catalogProductView
  * @param BrowserInterface $browser
  * @param InjectableFixture $product
  * @return void
  */
 public function processAssert(UrlRewrite $urlRewrite, CatalogProductView $catalogProductView, BrowserInterface $browser, InjectableFixture $product = null)
 {
     $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath());
     if ($product === null) {
         $product = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity();
     }
     \PHPUnit_Framework_Assert::assertEquals($catalogProductView->getTitleBlock()->getTitle(), $product->getName(), 'URL rewrite product redirect false.' . "\nExpected: " . $product->getName() . "\nActual: " . $catalogProductView->getTitleBlock()->getTitle());
 }
 /**
  * Assert that outside redirect was success
  *
  * @param UrlRewrite $urlRewrite
  * @param BrowserInterface $browser
  * @param UrlRewrite|null $initialRewrite [optional]
  * @return void
  */
 public function processAssert(UrlRewrite $urlRewrite, BrowserInterface $browser, UrlRewrite $initialRewrite = null)
 {
     $urlRequestPath = $urlRewrite->hasData('request_path') ? $urlRewrite->getRequestPath() : $initialRewrite->getRequestPath();
     $urlTargetPath = $urlRewrite->hasData('target_path') ? $urlRewrite->getTargetPath() : $initialRewrite->getTargetPath();
     $browser->open($_ENV['app_frontend_url'] . $urlRequestPath);
     $browserUrl = $browser->getUrl();
     \PHPUnit_Framework_Assert::assertEquals($browserUrl, $urlTargetPath, 'URL rewrite redirect false.' . "\nExpected: " . $urlTargetPath . "\nActual: " . $browserUrl);
 }
 /**
  * Assert check URL rewrite custom redirect
  *
  * @param UrlRewrite $urlRewrite
  * @param BrowserInterface $browser
  * @param CmsIndex $cmsIndex
  * @return void
  */
 public function processAssert(UrlRewrite $urlRewrite, BrowserInterface $browser, CmsIndex $cmsIndex)
 {
     $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath());
     $entity = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity();
     $title = $entity->hasData('name') ? $entity->getName() : $entity->getContentHeading();
     $pageTitle = $cmsIndex->getTitleBlock()->getTitle();
     \PHPUnit_Framework_Assert::assertEquals($pageTitle, $title, 'URL rewrite product redirect false.' . "\nExpected: " . $title . "\nActual: " . $pageTitle);
 }
 /**
  * Delete CMS page rewrites entity.
  *
  * @param UrlRewrite $urlRewrite
  * @return void
  */
 public function test(UrlRewrite $urlRewrite)
 {
     // Precondition
     $urlRewrite->persist();
     // Steps
     $this->urlRewriteIndex->open();
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen(['request_path' => $urlRewrite->getRequestPath()]);
     $this->urlRewriteEdit->getPageMainActions()->delete();
 }
 /**
  * Update category URL rewrites
  *
  * @param UrlRewrite $categoryRedirect
  * @param UrlRewrite $urlRewrite
  * @return void
  */
 public function test(UrlRewrite $categoryRedirect, UrlRewrite $urlRewrite)
 {
     //Steps
     $this->urlRewriteIndex->open();
     $filter = ['request_path' => $categoryRedirect->getRequestPath()];
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite);
     $this->urlRewriteEdit->getPageMainActions()->save();
 }
 /**
  * Delete product url rewrites entity
  *
  * @param UrlRewrite $productRedirect
  * @return void
  */
 public function testDeleteProductUrlRewrite(UrlRewrite $productRedirect)
 {
     // Precondition
     $productRedirect->persist();
     // Steps
     $this->urlRewriteIndex->open();
     $filter = ['request_path' => $productRedirect->getRequestPath()];
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getPageMainActions()->delete();
 }
 /**
  * Delete custom URL Rewrite
  *
  * @param UrlRewrite $urlRewrite
  * @return void
  */
 public function test(UrlRewrite $urlRewrite)
 {
     // Precondition
     $urlRewrite->persist();
     // Steps
     $this->urlRewriteIndex->open();
     $filter = ['request_path' => $urlRewrite->getRequestPath()];
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getPageMainActions()->delete();
     $this->urlRewriteEdit->getModalBlock()->acceptAlert();
 }
 /**
  * Update product URL rewrites
  *
  * @param UrlRewrite $urlRewrite
  * @param FixtureFactory $fixtureFactory
  * @return void
  */
 public function test(UrlRewrite $urlRewrite, FixtureFactory $fixtureFactory)
 {
     /** @var UrlRewrite $productRedirect */
     $productRedirect = $fixtureFactory->createByCode('urlRewrite', ['dataset' => 'default', 'data' => ['target_path' => $urlRewrite->getTargetPath()]]);
     $productRedirect->persist();
     //Steps
     $this->urlRewriteIndex->open();
     $filter = ['request_path' => $productRedirect->getRequestPath()];
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite);
     $this->urlRewriteEdit->getPageMainActions()->save();
 }
 /**
  * Create CMS page rewrites.
  *
  * @param UrlRewrite $urlRewrite
  * @return array
  */
 public function test(UrlRewrite $urlRewrite)
 {
     //Steps
     $this->urlRewriteIndex->open();
     $this->urlRewriteIndex->getPageActionsBlock()->addNew();
     $this->urlRewriteEdit->getUrlRewriteTypeSelectorBlock()->selectType($urlRewrite->getEntityType());
     $cmsPage = $urlRewrite->getDataFieldConfig('target_path')['source']->getEntity();
     $filter = ['title' => $cmsPage->getTitle()];
     $this->urlRewriteEdit->getCmsGridBlock()->searchAndOpen($filter);
     $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite);
     $this->urlRewriteEdit->getPageMainActions()->save();
     return ['cmsPage' => $cmsPage];
 }
 /**
  * Delete category Url Rewrite
  *
  * @param UrlRewrite $urlRewrite
  * @return void
  */
 public function test(UrlRewrite $urlRewrite)
 {
     //Precondition
     $urlRewrite->persist();
     //Steps
     $this->urlRewriteIndex->open();
     if ($urlRewrite->getRequestPath()) {
         $filter = ['request_path' => $urlRewrite->getRequestPath()];
     } else {
         $filter = ['target_path' => $urlRewrite->getTargetPath()];
     }
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getPageMainActions()->delete();
 }
 /**
  * Prepare data for replace.
  *
  * @param UrlRewrite $initialRewrite
  * @return array
  */
 protected function getReplaceData(UrlRewrite $initialRewrite)
 {
     $replaceData = [];
     $entity = $initialRewrite->getDataFieldConfig('target_path')['source']->getEntity();
     if ($entity) {
         $replaceData['target_path'] = ['name' => 'sku', 'value' => $entity->getSku()];
     }
     return $replaceData;
 }
 /**
  * Assert that created CMS Page URL Rewrite lead to appropriate page in frontend.
  *
  * @param UrlRewrite $urlRewrite
  * @param CmsPage $cmsPage
  * @param SystemVariableNew $systemVariableNew
  * @param BrowserInterface $browser
  * @return void
  */
 public function processAssert(UrlRewrite $urlRewrite, CmsPage $cmsPage, SystemVariableNew $systemVariableNew, BrowserInterface $browser)
 {
     $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath());
     if ($urlRewrite->hasData('store_id')) {
         $store = explode('/', $urlRewrite->getStoreId());
         $systemVariableNew->getFormPageActions()->selectStoreView($store[2]);
     }
     $url = $urlRewrite->getRedirectType() == 'No' ? $urlRewrite->getRequestPath() : $cmsPage->getTitle();
     \PHPUnit_Framework_Assert::assertEquals($_ENV['app_frontend_url'] . $url, $browser->getUrl(), 'URL rewrite CMS Page redirect false.');
 }
 /**
  * Assert that created CMS Page URL Redirect lead to appropriate page in frontend
  *
  * @param UrlRewrite $urlRewrite
  * @param CmsPage $cmsPage
  * @param Browser $browser
  * @return void
  */
 public function processAssert(UrlRewrite $urlRewrite, CmsPage $cmsPage, Browser $browser)
 {
     $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath());
     $url = $urlRewrite->getOptions() == 'No' ? $urlRewrite->getRequestPath() : $this->url . $cmsPage->getPageId();
     \PHPUnit_Framework_Assert::assertEquals($browser->getUrl(), $_ENV['app_frontend_url'] . $url, 'URL rewrite CMS Page redirect false.' . "\nExpected: " . $_ENV['app_frontend_url'] . $url . "\nActual: " . $browser->getUrl());
 }
 /**
  * Prepare data for replace
  *
  * @param UrlRewrite $initialRewrite
  * @return array
  */
 protected function getReplaceData(UrlRewrite $initialRewrite)
 {
     $replaceData = [];
     $entity = $initialRewrite->getDataFieldConfig('id_path')['source']->getEntity();
     if ($entity) {
         $replaceData['target_path'] = ['%name%' => $entity->getName()];
     }
     return $replaceData;
 }
 /**
  * Checking the server response 404 page on frontend
  *
  * @param BrowserInterface $browser
  * @param CatalogProductView $catalogProductView
  * @param UrlRewrite $productRedirect
  * @return void
  */
 public function processAssert(BrowserInterface $browser, CatalogProductView $catalogProductView, UrlRewrite $productRedirect)
 {
     $browser->open($_ENV['app_frontend_url'] . $productRedirect->getRequestPath());
     \PHPUnit_Framework_Assert::assertEquals(self::NOT_FOUND_MESSAGE, $catalogProductView->getTitleBlock()->getTitle(), 'Wrong page is displayed.');
 }
 /**
  * Update CMS page rewrites.
  *
  * @param UrlRewrite $urlRewrite
  * @param UrlRewrite $cmsPageRewrite
  * @return array
  */
 public function test(UrlRewrite $urlRewrite, UrlRewrite $cmsPageRewrite)
 {
     // Preconditions
     $cmsPageRewrite->persist();
     // Steps
     $this->urlRewriteIndex->open();
     $this->storeName = $urlRewrite->getStoreId();
     $filter = ['request_path' => $cmsPageRewrite->getRequestPath()];
     $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter);
     $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite);
     $this->urlRewriteEdit->getPageMainActions()->save();
     return ['cmsPage' => $cmsPageRewrite->getDataFieldConfig('target_path')['source']->getEntity()];
 }
 /**
  * Assert that url rewrite not in grid
  *
  * @param UrlRewriteIndex $urlRewriteIndex
  * @param UrlRewrite $productRedirect
  * @return void
  */
 public function processAssert(UrlRewriteIndex $urlRewriteIndex, UrlRewrite $productRedirect)
 {
     $urlRewriteIndex->open();
     $filter = ['request_path' => $productRedirect->getRequestPath()];
     \PHPUnit_Framework_Assert::assertFalse($urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter), 'URL Rewrite with request path \'' . $productRedirect->getRequestPath() . '\' is present in grid.');
 }
 /**
  * Assert check URL rewrite category redirect
  *
  * @param UrlRewrite $urlRewrite
  * @param Category $category
  * @param BrowserInterface $browser
  * @return void
  */
 public function processAssert(UrlRewrite $urlRewrite, Category $category, BrowserInterface $browser)
 {
     $browser->open($_ENV['app_frontend_url'] . $urlRewrite->getRequestPath());
     $url = $urlRewrite->getRedirectType() == 'No' ? $urlRewrite->getRequestPath() : $category->getUrlKey() . '.html';
     \PHPUnit_Framework_Assert::assertEquals($browser->getUrl(), $_ENV['app_frontend_url'] . $url, 'URL rewrite category redirect false.' . "\nExpected: " . $_ENV['app_frontend_url'] . $url . "\nActual: " . $browser->getUrl());
 }