/** * Delete Widget Entity test. * * @param Widget $widget * @return void */ public function test(Widget $widget) { // Precondition $widget->persist(); // Steps $filter = ['title' => $widget->getTitle()]; $this->widgetInstanceIndex->open(); $this->widgetInstanceIndex->getWidgetGrid()->searchAndOpen($filter); $this->widgetInstanceEdit->getPageActionsBlock()->delete(); }
/** * Assert that created widget is absent on frontend on Home page * * @param CmsIndex $cmsIndex * @param Widget $widget * @param AdminCache $adminCache * @return void */ public function processAssert(CmsIndex $cmsIndex, Widget $widget, AdminCache $adminCache) { // Flush cache $adminCache->open(); $adminCache->getActionsBlock()->flushMagentoCache(); $adminCache->getMessagesBlock()->waitSuccessMessage(); $cmsIndex->open(); $widgetText = $widget->getParameters()['anchor_text']; \PHPUnit_Framework_Assert::assertFalse($cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget is present on Home page.'); }
/** * Assert that created widget displayed on frontend on Product page. * * @param CatalogProductView $productView * @param BrowserInterface $browser * @param Widget $widget * @param AdminCache $adminCache * @return void */ public function processAssert(CatalogProductView $productView, BrowserInterface $browser, Widget $widget, AdminCache $adminCache) { // Flush cache $adminCache->open(); $adminCache->getActionsBlock()->flushMagentoCache(); $adminCache->getMessagesBlock()->waitSuccessMessage(); $urlKey = $widget->getWidgetInstance()[0]['entities']['url_key']; $browser->open($_ENV['app_frontend_url'] . $urlKey . '.html'); $widgetText = $widget->getParameters()['link_text']; \PHPUnit_Framework_Assert::assertTrue($productView->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget is absent on Product page.'); }
/** * Assert that after click on widget link on frontend system redirects you to Product page defined in widget. * * @param CmsIndex $cmsIndex * @param CatalogProductView $productView * @param Widget $widget * @param AdminCache $adminCache * @return void */ public function processAssert(CmsIndex $cmsIndex, CatalogProductView $productView, Widget $widget, AdminCache $adminCache) { // Flush cache $adminCache->open(); $adminCache->getActionsBlock()->flushMagentoCache(); $adminCache->getMessagesBlock()->waitSuccessMessage(); $cmsIndex->open(); $cmsIndex->getTopmenu()->selectCategoryByName($widget->getWidgetInstance()[0]['entities']->getName()); $cmsIndex->getWidgetView()->clickToWidget($widget, $widget->getParameters()['anchor_text']); $title = $productView->getTitleBlock()->getTitle(); \PHPUnit_Framework_Assert::assertEquals($widget->getParameters()['entities'][0]->getName(), $title, 'Wrong product title.'); }
/** * Assert that created widget displayed on frontend on Home page and on Advanced Search and * after click on widget link on frontend system redirects you to catalog page. * * @param CmsIndex $cmsIndex * @param CatalogCategoryView $categoryView * @param Widget $widget * @param AdminCache $adminCache * @return void */ public function processAssert(CmsIndex $cmsIndex, CatalogCategoryView $categoryView, Widget $widget, AdminCache $adminCache) { // Flush cache $adminCache->open(); $adminCache->getActionsBlock()->flushMagentoCache(); $adminCache->getMessagesBlock()->waitSuccessMessage(); $cmsIndex->open(); $widgetText = $widget->getParameters()['anchor_text']; \PHPUnit_Framework_Assert::assertTrue($cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget with type catalog category link is absent on Home page.'); $cmsIndex->getWidgetView()->clickToWidget($widget, $widgetText); $title = $categoryView->getTitleBlock()->getTitle(); \PHPUnit_Framework_Assert::assertEquals($widget->getParameters()['entities'][0]->getName(), $title, 'Wrong category title.'); $cmsIndex->getFooterBlock()->openAdvancedSearch(); \PHPUnit_Framework_Assert::assertTrue($cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget with type catalog category link is absent on Advanced Search page.'); }
/** * Assert that created widget displayed on frontent on Home page and on Advanced Search and * after click on widget link on frontend system redirects you to cms page. * * @param CmsIndex $cmsIndex * @param Widget $widget * @param AdminCache $adminCache * @return void */ public function processAssert(CmsIndex $cmsIndex, Widget $widget, AdminCache $adminCache) { // Flush cache $adminCache->open(); $adminCache->getActionsBlock()->flushMagentoCache(); $adminCache->getMessagesBlock()->waitSuccessMessage(); $cmsIndex->open(); $widgetText = $widget->getParameters()['anchor_text']; \PHPUnit_Framework_Assert::assertTrue($cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget with type CmsPageLink is absent on Home page.'); $title = isset($widget->getParameters()['node']) ? $widget->getParameters()['entities'][0]->getLabel() : $widget->getParameters()['entities'][0]->getContentHeading(); $cmsIndex->getWidgetView()->clickToWidget($widget, $widgetText); $pageTitle = $cmsIndex->getCmsPageBlock()->getPageTitle(); \PHPUnit_Framework_Assert::assertEquals($title, $pageTitle, 'Wrong page title on Cms page.'); $cmsIndex->getFooterBlock()->openAdvancedSearch(); \PHPUnit_Framework_Assert::assertTrue($cmsIndex->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget with type CmsPageLink is absent on Advanced Search page.'); }
/** * Assert that created widget displayed on frontent in Catalog. * * @param CmsIndex $cmsIndex * @param CatalogCategoryView $catalogCategoryView * @param Widget $widget * @param AdminCache $adminCache * @return void */ public function processAssert(CmsIndex $cmsIndex, CatalogCategoryView $catalogCategoryView, Widget $widget, AdminCache $adminCache) { // Flush cache $adminCache->open(); $adminCache->getActionsBlock()->flushMagentoCache(); $adminCache->getMessagesBlock()->waitSuccessMessage(); $cmsIndex->open(); if (isset($widget->getWidgetInstance()[0]['entities'])) { $categoryName = $widget->getWidgetInstance()[0]['entities']->getName(); } else { $categoryName = $widget->getParameters()['entities']->getCategoyId()[0]; } if ($widget->getCode() == 'CMS Static Block') { $widgetText = $widget->getParameters()['entities'][0]->getContent(); } else { $widgetText = $widget->getParameters()['anchor_text']; } $cmsIndex->getTopmenu()->selectCategoryByName($categoryName); \PHPUnit_Framework_Assert::assertTrue($catalogCategoryView->getWidgetView()->isWidgetVisible($widget, $widgetText), 'Widget is absent on Category page.'); }
/** * Get widget type based on widget code. * * @param Widget $widget * @return string */ protected function getWidgetType(Widget $widget) { return lcfirst(str_replace(' ', '', ucwords(strtolower($widget->getCode())))); }
/** * Assert widget availability in widget grid * * @param Widget $widget * @param WidgetInstanceIndex $widgetInstanceIndex * @return void */ public function processAssert(Widget $widget, WidgetInstanceIndex $widgetInstanceIndex) { $filter = ['title' => $widget->getTitle()]; $widgetInstanceIndex->open(); \PHPUnit_Framework_Assert::assertTrue($widgetInstanceIndex->getWidgetGrid()->isRowVisible($filter), 'Widget with title \'' . $widget->getTitle() . '\' is absent in Widget grid.'); }