/** * Fill store. * * @param UrlRewrite $urlRewrite * @return void */ protected function fillStore(UrlRewrite $urlRewrite) { $storeField = $this->_rootElement->find($this->store, Locator::SELECTOR_CSS, 'selectstore'); if ($storeField->isVisible() && !$urlRewrite->hasData('store_id')) { $storeField->setValue('Main Website/Main Website Store/Default Store View'); } }
/** * Delete custom URL Rewrite test. * * @param UrlRewrite $urlRewrite * @return void */ public function test(UrlRewrite $urlRewrite) { // Precondition $urlRewrite->persist(); // Steps $this->urlRewriteIndex->open(); $filter = ['request_path' => $urlRewrite->getIdentifier()]; $this->urlRewriteIndex->getUrlRedirectGrid()->searchAndOpen($filter); $this->urlRewriteEdit->getFormPageActions()->deleteAndAcceptAlert(); }
/** * 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.'); }
/** * Delete store. * * @return void */ public function tearDown() { if ($this->urlRewrite !== null && $this->urlRewrite->hasData('store_id')) { $store = $this->urlRewrite->getDataFieldConfig('store_id')['source']->getStore(); if ($store->getName() !== 'Default Store View') { $this->storeIndex->open(); $this->storeIndex->getStoreGrid()->openStore($store); $this->editStore->getFormPageActions()->delete(); $this->deleteStore->getFormPageActions()->delete(); } $this->urlRewrite = null; } }
/** * 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]; }
/** * Assert that url rewrite not in grid. * * @param UrlRewriteIndex $urlRewriteIndex * @param UrlRewrite $urlRewrite * @return void */ public function processAssert(UrlRewriteIndex $urlRewriteIndex, UrlRewrite $urlRewrite) { $urlRewriteIndex->open(); $filter = ['request_path' => $urlRewrite->getIdentifier()]; \PHPUnit_Framework_Assert::assertFalse($urlRewriteIndex->getUrlRedirectGrid()->isRowVisible($filter), "URL Rewrite with request path {$urlRewrite->getRequestPath()} is present in grid."); }