/** * Delete CMS Page. * * @param CmsPage $cmsPage * @return void */ public function test(CmsPage $cmsPage) { // Preconditions $cmsPage->persist(); // Steps $this->cmsIndex->open(); $this->cmsIndex->getCmsPageGridBlock()->searchAndOpen(['title' => $cmsPage->getTitle()]); $this->cmsEdit->getPageMainActions()->deleteAndAcceptAlert(); }
/** * Update CMS Page test. * * @param CmsPage $cms * @param CmsPage $cmsOriginal * @return array */ public function test(CmsPage $cms, CmsPage $cmsOriginal) { // Steps $this->cmsIndex->open(); $filter = ['title' => $cmsOriginal->getTitle()]; $this->cmsIndex->getCmsPageGridBlock()->searchAndOpen($filter); $this->cmsEdit->getPageForm()->fill($cms); $this->cmsEdit->getPageMainActions()->save(); return ['cms' => $this->factory->createByCode('cmsPage', ['data' => array_merge($cmsOriginal->getData(), $cms->getData())])]; }
/** * Assert that content of created cms page displayed in main content section and equals passed from fixture. * * @param CmsPage $cms * @param CmsPageIndex $cmsPageIndex * @param FrontendCmsPage $frontendCmsPage * @param CmsPageEdit $cmsPageEdit * @param Browser $browser * @return void */ public function processAssert(CmsPage $cms, CmsPageIndex $cmsPageIndex, FrontendCmsPage $frontendCmsPage, CmsPageEdit $cmsPageEdit, Browser $browser) { $cmsPageIndex->open(); $cmsPageIndex->getCmsPageGridBlock()->searchAndOpen(['title' => $cms->getTitle()]); $cmsPageEdit->getPageMainActions()->preview(); $browser->selectWindow(); $frontendCmsPage->getTemplateBlock()->waitLoader(); $browser->switchToFrame(new Locator($this->iFrameSelector)); $element = $browser->find('body'); $fixtureContent = $cms->getContent(); \PHPUnit_Framework_Assert::assertContains($fixtureContent['content'], $frontendCmsPage->getCmsPageContentBlock()->getPageContent($element), 'Wrong content is displayed.'); if ($cms->getContentHeading()) { \PHPUnit_Framework_Assert::assertEquals(strtolower($cms->getContentHeading()), strtolower($frontendCmsPage->getCmsPageContentBlock()->getPageTitle($element)), 'Wrong title is displayed.'); } if (isset($fixtureContent['widget'])) { foreach ($fixtureContent['widget']['preset'] as $widget) { \PHPUnit_Framework_Assert::assertTrue($frontendCmsPage->getCmsPageContentBlock()->isWidgetVisible($widget), "Widget '{$widget['widget_type']}' is not displayed."); } } }