9 use Magento\CatalogRule\Test\Fixture\CatalogRule;
10 use Magento\CatalogRule\Test\Page\Adminhtml\CatalogRuleIndex;
11 use Magento\Mtf\Constraint\AbstractConstraint;
33 CatalogRule $catalogPriceRule,
34 CatalogRuleIndex $pageCatalogRuleIndex,
35 CatalogRule $catalogPriceRuleOriginal =
null 37 $data = ($catalogPriceRuleOriginal ===
null)
38 ? $catalogPriceRule->getData()
39 : array_merge($catalogPriceRuleOriginal->getData(), $catalogPriceRule->getData());
42 foreach ($this->fieldsToFilter as $field) {
43 $filter[$field] =
$data[$field];
46 if ($catalogPriceRule->getWebsiteIds() !=
null) {
47 $ruleWebsite = $catalogPriceRule->getWebsiteIds();
48 $ruleWebsite = is_array($ruleWebsite) ? reset($ruleWebsite) : $ruleWebsite;
49 $filter[
'rule_website'] = $ruleWebsite;
52 if (isset(
$data[
'from_date']) && isset(
$data[
'to_date'])) {
53 $dateArray[
'from_date'] = date(
"M j, Y", strtotime($catalogPriceRule->getFromDate()));
54 $dateArray[
'to_date'] = date(
"M j, Y", strtotime($catalogPriceRule->getToDate()));
55 $filter = array_merge($filter, $dateArray);
58 $pageCatalogRuleIndex->open();
59 $errorMessage = implode(
', ', $filter);
60 \PHPUnit\Framework\Assert::assertTrue(
61 $pageCatalogRuleIndex->getCatalogRuleGrid()->isRowVisible($filter),
62 'Catalog Price Rule with following data: \'' . $errorMessage .
'\' ' 63 . 'is absent in Catalog Price Rule grid.
' 72 public function toString() 74 return 'Catalog Price Rule is present in Catalog Rule grid.
';
processAssert(CatalogRule $catalogPriceRule, CatalogRuleIndex $pageCatalogRuleIndex, CatalogRule $catalogPriceRuleOriginal=null)