/** * Fill website. * * @param CatalogRule $catalogPriceRule * @return void */ protected function fillWebsites(CatalogRule $catalogPriceRule) { $websiteField = $this->_rootElement->find($this->website, Locator::SELECTOR_CSS, 'multiselectlist'); if ($websiteField->isVisible() && !$catalogPriceRule->hasData('website_ids')) { $websiteField->setValue('Main Website'); } }
/** * Assert that data in grid on Catalog Price Rules page according to fixture. * * @param CatalogRule $catalogPriceRule * @param CatalogRuleIndex $pageCatalogRuleIndex * @return void */ public function processAssert(CatalogRule $catalogPriceRule, CatalogRuleIndex $pageCatalogRuleIndex) { $data = $catalogPriceRule->getData(); $filter = ['name' => $data['name'], 'is_active' => $data['is_active']]; //add ruleWebsite to filter if there is one if ($catalogPriceRule->hasData('website_ids')) { $ruleWebsite = $catalogPriceRule->getWebsiteIds(); $ruleWebsite = is_array($ruleWebsite) ? reset($ruleWebsite) : $ruleWebsite; $filter['rule_website'] = $ruleWebsite; } //add from_date & to_date to filter if there are ones if (isset($data['from_date']) && isset($data['to_date'])) { $dateArray['from_date'] = date("M j, Y", strtotime($catalogPriceRule->getFromDate())); $dateArray['to_date'] = date("M j, Y", strtotime($catalogPriceRule->getToDate())); $filter = array_merge($filter, $dateArray); } $pageCatalogRuleIndex->open(); $errorMessage = implode(', ', $filter); \PHPUnit_Framework_Assert::assertTrue($pageCatalogRuleIndex->getCatalogRuleGrid()->isRowVisible($filter), 'Catalog Price Rule with following data: \'' . $errorMessage . '\' ' . 'is absent in Catalog Price Rule grid.'); }