/** * Assert that created CMS page displays with error message on unassigned store views on frontend. * * @param CmsPage $cms * @param FrontendCmsPage $frontendCmsPage * @param Browser $browser * @param CmsIndex $cmsIndex * @param string|null $notFoundMessage * @return void */ public function processAssert(CmsPage $cms, FrontendCmsPage $frontendCmsPage, Browser $browser, CmsIndex $cmsIndex, $notFoundMessage = null) { $browser->open($_ENV['app_frontend_url'] . $cms->getIdentifier()); $notFoundMessage = $notFoundMessage !== null ? $notFoundMessage : self::ERROR_MESSAGE; $cmsIndex->getHeaderBlock()->selectStore('Default Store View'); \PHPUnit_Framework_Assert::assertContains($notFoundMessage, $frontendCmsPage->getCmsPageContentBlock()->getPageContent(), 'Wrong page content is displayed.'); }
/** * Assert that Magento successfully installed. * * @param InstallWizardEnd $installWizardEnd * @param CmsIndex $cmsIndex * @param string $successInstallMessage * @return void */ public function processAssert(InstallWizardEnd $installWizardEnd, CmsIndex $cmsIndex, $successInstallMessage) { // Check InstallWizardEnd page title text. \PHPUnit_Framework_Assert::assertEquals($successInstallMessage, $installWizardEnd->getMainBlock()->getTitle()); // Check if header block on CmsIndex page is visible. $cmsIndex->open(); \PHPUnit_Framework_Assert::assertTrue($cmsIndex->getHeaderBlock()->isVisible()); }
/** * Select store. * * @param Store $store * @return void */ protected function selectStore(Store $store) { $headerBlock = $this->cmsIndexPage->getHeaderBlock(); $footerBlock = $this->cmsIndexPage->getFooterBlock(); if ($footerBlock->isStoreGroupSwitcherVisible() && $footerBlock->isStoreGroupVisible($store)) { $footerBlock->selectStoreGroup($store); } if ($headerBlock->isStoreViewDropdownVisible()) { $headerBlock->selectStore($store->getName()); } }
/** * 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.'); }
/** * Assert that created store view is not available on frontend. * * @param Store $store * @param CmsIndex $cmsIndex * @return void */ public function processAssert(Store $store, CmsIndex $cmsIndex) { $cmsIndex->open(); $footerBlock = $cmsIndex->getFooterBlock(); $headerBlock = $cmsIndex->getHeaderBlock(); if ($footerBlock->isStoreGroupSwitcherVisible() && $footerBlock->isStoreGroupVisible($store)) { $footerBlock->selectStoreGroup($store); } $isStoreViewVisible = $headerBlock->isStoreViewDropdownVisible() ? $headerBlock->isStoreViewVisible($store) : false; // if only one store view is assigned to store group \PHPUnit_Framework_Assert::assertFalse($isStoreViewVisible, "Store view '{$store->getName()}' is visible in dropdown on CmsIndex page."); }
/** * Assert that created CMS page displays with error message on unassigned store views on frontend. * * @param CmsPage $cms * @param FrontendCmsPage $frontendCmsPage * @param Browser $browser * @param CmsIndex $cmsIndex * @return void */ public function processAssert(CmsPage $cms, FrontendCmsPage $frontendCmsPage, Browser $browser, CmsIndex $cmsIndex) { $browser->open($_ENV['app_frontend_url'] . $cms->getIdentifier()); $cmsIndex->getHeaderBlock()->selectStore('Default Store View'); \PHPUnit_Framework_Assert::assertEquals(self::ERROR_MESSAGE, $frontendCmsPage->getCmsPageContentBlock()->getPageHeadTitle(), 'Wrong page content is displayed.'); }