/** * Assert that created CMS page with 'Status' - Disabled displays with '404 Not Found' message on Frontend. * * @param CmsPage $cms * @param FrontCmsIndex $frontCmsIndex * @param CmsPageIndex $cmsIndex * @param BrowserInterface $browser * @return void */ public function processAssert(CmsPage $cms, FrontCmsIndex $frontCmsIndex, CmsPageIndex $cmsIndex, BrowserInterface $browser) { $cmsIndex->open(); $filter = ['title' => $cms->getTitle()]; $cmsIndex->getCmsPageGridBlock()->searchAndPreview($filter); $browser->selectWindow(); \PHPUnit_Framework_Assert::assertEquals(self::NOT_FOUND_MESSAGE, $frontCmsIndex->getTitleBlock()->getTitle(), 'Wrong page is displayed.'); }
/** * Update CMS Page. * * @param CmsPage $cms * @param CmsPage $cmsOriginal * @return array */ public function test(CmsPage $cms, CmsPage $cmsOriginal) { // Steps $this->cmsPageIndex->open(); $this->cmsPageIndex->getCmsPageGridBlock()->searchAndOpen(['title' => $cmsOriginal->getTitle()]); $this->cmsPageNew->getPageForm()->fill($cms); $this->cmsPageNew->getPageMainActions()->save(); return ['cms' => $this->factory->createByCode('cmsPage', ['data' => array_merge($cmsOriginal->getData(), $cms->getData())])]; }
/** * Assert that sitemap.xml file contains correct content according to dataset: * - product url * - category url * - CMS page url * * @param CatalogProductSimple $product * @param Category $catalog * @param CmsPage $cmsPage * @param Sitemap $sitemap * @param SitemapIndex $sitemapIndex * @return void */ public function processAssert(CatalogProductSimple $product, Category $catalog, CmsPage $cmsPage, Sitemap $sitemap, SitemapIndex $sitemapIndex) { $sitemapIndex->open()->getSitemapGrid()->sortGridByField('sitemap_id'); $filter = ['sitemap_filename' => $sitemap->getSitemapFilename(), 'sitemap_path' => $sitemap->getSitemapPath()]; $sitemapIndex->getSitemapGrid()->search($filter); $content = file_get_contents($sitemapIndex->getSitemapGrid()->getLinkForGoogle()); $urls = [$_ENV['app_frontend_url'] . $product->getUrlKey() . '.html', $_ENV['app_frontend_url'] . $catalog->getUrlKey() . '.html', $_ENV['app_frontend_url'] . $cmsPage->getIdentifier()]; \PHPUnit_Framework_Assert::assertTrue($this->checkContent($content, $urls), 'Content of file sitemap.xml does not include one or more of next urls:' . implode("\n", $urls)); }
/** * Delete CMS Page. * * @param CmsPage $cmsPage * @return void */ public function test(CmsPage $cmsPage) { // Preconditions $cmsPage->persist(); // Steps $this->cmsPageIndex->open(); $this->cmsPageIndex->getCmsPageGridBlock()->searchAndOpen(['title' => $cmsPage->getTitle()]); $this->cmsPageNew->getPageMainActions()->delete(); }
/** * 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 displayed CMS page data on edit page equals passed from fixture. * * @param CmsPage $cms * @param CmsPageIndex $cmsIndex * @param CmsPageNew $cmsPageNew * @return void */ public function processAssert(CmsPage $cms, CmsPageIndex $cmsIndex, CmsPageNew $cmsPageNew) { $cmsIndex->open(); $filter = ['title' => $cms->getTitle()]; $cmsIndex->getCmsPageGridBlock()->searchAndOpen($filter); $cmsFormData = $cmsPageNew->getPageForm()->getData($cms); $cmsFormData['store_id'] = implode('/', $cmsFormData['store_id']); $errors = $this->verifyData($cms->getData(), $cmsFormData); \PHPUnit_Framework_Assert::assertEmpty($errors, $errors); }
/** * Update Sitemap Entity * * @param Sitemap $sitemap * @param CatalogProductSimple $product * @param CatalogCategory $catalog * @param CmsPage $cmsPage * @return void */ public function testUpdateSitemap(Sitemap $sitemap, CatalogProductSimple $product, CatalogCategory $catalog, CmsPage $cmsPage) { // Preconditions $sitemap->persist(); $product->persist(); $catalog->persist(); $cmsPage->persist(); $filter = ['sitemap_filename' => $sitemap->getSitemapFilename(), 'sitemap_path' => $sitemap->getSitemapPath(), 'sitemap_id' => $sitemap->getSitemapId()]; // Steps $this->sitemapIndex->open()->getSitemapGrid()->search($filter); $this->sitemapIndex->getSitemapGrid()->generate(); }
/** * Assert that content of created cms page displayed in section 'maincontent' and equals passed from fixture. * * @param CmsPageIndex $cmsIndex * @param FrontCmsIndex $frontCmsIndex * @param FrontCmsPage $frontCmsPage * @param CmsPage $cms * @param BrowserInterface $browser * @return void */ public function processAssert(CmsPageIndex $cmsIndex, FrontCmsIndex $frontCmsIndex, FrontCmsPage $frontCmsPage, CmsPage $cms, BrowserInterface $browser) { $cmsIndex->open(); $filter = ['title' => $cms->getTitle()]; $cmsIndex->getCmsPageGridBlock()->searchAndPreview($filter); $browser->selectWindow(); $fixtureContent = $cms->getContent(); \PHPUnit_Framework_Assert::assertContains($fixtureContent['content'], $frontCmsPage->getCmsPageBlock()->getPageContent(), 'Wrong content is displayed.'); if (isset($fixtureContent['widget'])) { foreach ($fixtureContent['widget']['preset'] as $widget) { \PHPUnit_Framework_Assert::assertTrue($frontCmsPage->getCmsPageBlock()->isWidgetVisible($widget['widget_type'], $widget['anchor_text']), 'Widget \'' . $widget['widget_type'] . '\' is not displayed.'); } } if ($cms->getContentHeading()) { \PHPUnit_Framework_Assert::assertEquals($cms->getContentHeading(), $frontCmsIndex->getTitleBlock()->getTitle(), 'Wrong title is displayed.'); } }
/** * Assert that Cms page is not present in pages grid. * * @param CmsPageIndex $cmsIndex * @param CmsPage $cmsPage * @return void */ public function processAssert(CmsPageIndex $cmsIndex, CmsPage $cmsPage) { $filter = ['title' => $cmsPage->getTitle()]; \PHPUnit_Framework_Assert::assertFalse($cmsIndex->getCmsPageGridBlock()->isRowVisible($filter), 'Cms page \'' . $cmsPage->getTitle() . '\' is present in pages grid.'); }
/** * Assert that cms page is present in pages grid. * * @param CmsPageIndex $cmsIndex * @param CmsPage $cms * @return void */ public function processAssert(CmsPageIndex $cmsIndex, CmsPage $cms) { $filter = ['title' => $cms->getTitle()]; $cmsIndex->open(); \PHPUnit_Framework_Assert::assertTrue($cmsIndex->getCmsPageGridBlock()->isRowVisible($filter, true, false), 'Cms page \'' . $cms->getTitle() . '\' is not present in pages grid.'); }
/** * Generate Sitemap Entity * * @param Sitemap $sitemap * @param CatalogProductSimple $product * @param CatalogCategory $catalog * @param CmsPage $cmsPage * @return void */ public function testGenerateSitemap(Sitemap $sitemap, CatalogProductSimple $product, CatalogCategory $catalog, CmsPage $cmsPage) { // Preconditions $product->persist(); $catalog->persist(); $cmsPage->persist(); // Steps $this->sitemapIndex->open(); $this->sitemapIndex->getGridPageActions()->addNew(); $this->sitemapNew->getSitemapForm()->fill($sitemap); $this->sitemapNew->getSitemapPageActions()->saveAndGenerate(); }
/** * Create CMS page rewrites * * @param CmsPage $cmsPage * @param UrlRewrite $urlRewrite * @return void */ public function testCmsPageRewrite(CmsPage $cmsPage, UrlRewrite $urlRewrite) { //Preconditions $cmsPage->persist(); //Steps $this->urlRewriteIndex->open(); $this->urlRewriteIndex->getPageActionsBlock()->addNew(); $this->urlRewriteEdit->getUrlRewriteTypeSelectorBlock()->selectType('For CMS page'); $filter = ['title' => $cmsPage->getTitle()]; $this->urlRewriteEdit->getCmsGridBlock()->searchAndOpen($filter); $this->urlRewriteEdit->getFormBlock()->fill($urlRewrite); $this->urlRewriteEdit->getPageMainActions()->save(); }
/** * 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()); }