/** * Delete Catalog Rule on backend. * * @return array */ public function run() { $this->catalogRuleIndex->open(); $this->catalogRuleIndex->getCatalogRuleGrid()->resetFilter(); while ($this->catalogRuleIndex->getCatalogRuleGrid()->isFirstRowVisible()) { $this->catalogRuleIndex->getCatalogRuleGrid()->openFirstRow(); $this->catalogRuleEdit->getFormPageActions()->delete(); } }
/** * Delete Catalog Price Rule test. * * @param CatalogRule $catalogPriceRule * @return void */ public function test(CatalogRule $catalogPriceRule) { // Precondition $catalogPriceRule->persist(); $filter = ['name' => $catalogPriceRule->getName(), 'rule_id' => $catalogPriceRule->getId()]; // Steps $this->catalogRuleIndex->open(); $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); $this->catalogRuleEdit->getFormPageActions()->delete(); }
/** * Assert that displayed Catalog Price Rule data on edit page equals passed from fixture. * * @param CatalogRule $catalogPriceRule * @param CatalogRuleIndex $pageCatalogRuleIndex * @param CatalogRuleEdit $catalogRuleEdit * @return void */ public function processAssert(CatalogRule $catalogPriceRule, CatalogRuleIndex $pageCatalogRuleIndex, CatalogRuleEdit $catalogRuleEdit) { $filter['name'] = $catalogPriceRule->getName(); $pageCatalogRuleIndex->open(); $pageCatalogRuleIndex->getCatalogRuleGrid()->searchAndOpen($filter); $formData = $this->prepareFormData($catalogRuleEdit->getEditForm()->getData($catalogPriceRule)); $fixtureData = $this->prepareFixtureData($catalogPriceRule->getData()); $diff = $this->verifyData($formData, $fixtureData); \PHPUnit_Framework_Assert::assertEmpty($diff, $diff); }
/** * 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.'); }
/** * Assert that Catalog Price Rule is not presented in grid and cannot be found using ID, Rule name. * * @param CatalogRule $catalogPriceRule * @param CatalogRuleIndex $catalogRuleIndex * @return void */ public function processAssert(CatalogRule $catalogPriceRule, CatalogRuleIndex $catalogRuleIndex) { $filter = ['rule_id' => $catalogPriceRule->getId(), 'name' => $catalogPriceRule->getName()]; $catalogRuleIndex->open(); \PHPUnit_Framework_Assert::assertFalse($catalogRuleIndex->getCatalogRuleGrid()->isRowVisible($filter), "Catalog Price Rule {$filter['rule_id']} with name {$filter['name']} is present in Catalog Price Rule grid."); }
/** * Delete sales rule, catalog rule, all tax rules and setup default tax configuration. * * @return void */ public function tearDown() { if (isset($this->salesRule)) { $this->promoQuoteIndex->open(); $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen(['name' => $this->salesRule->getName()]); $this->promoQuoteEdit->getFormPageActions()->delete(); $this->salesRule = null; } if (isset($this->catalogRule)) { $this->catalogRuleIndex->open(); $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen(['name' => $this->catalogRule->getName()]); $this->catalogRuleEdit->getFormPageActions()->delete(); $this->catalogRule = null; } $this->objectManager->create('Mage\\Tax\\Test\\TestStep\\DeleteAllTaxRulesStep')->run(); // TODO: Move set default configuration and create default tax rule to "tearDownAfterClass" method after fix bug MAGETWO-29331 $this->objectManager->create('Mage\\Core\\Test\\TestStep\\SetupConfigurationStep', ['configData' => 'default_tax_configuration'])->run(); $this->objectManager->create('\\Mage\\Tax\\Test\\TestStep\\CreateTaxRuleStep', ['taxRule' => 'default'])->run(); }
/** * Delete sales rule, catalog rule, all tax rules and setup default tax configuration. * * @return void */ public function tearDown() { if (isset($this->salesRule)) { $this->promoQuoteIndex->open(); $this->promoQuoteIndex->getPromoQuoteGrid()->searchAndOpen(['name' => $this->salesRule->getName()]); $this->promoQuoteEdit->getFormPageActions()->delete(); $this->salesRule = null; } if (isset($this->catalogRule)) { $this->catalogRuleIndex->open(); $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen(['name' => $this->catalogRule->getName()]); $this->catalogRuleEdit->getFormPageActions()->delete(); $this->catalogRule = null; } $this->objectManager->create('Mage\\Tax\\Test\\TestStep\\DeleteAllTaxRulesStep')->run(); }
/** * Save and apply catalog rule on backend. * * @return void */ public function run() { $this->catalogRuleIndex->open(); $this->catalogRuleIndex->getCatalogRuleGrid()->searchAndOpen(['rule_id' => $this->catalogRuleId]); $this->catalogRuleEdit->getFormPageActions()->saveAndApply(); }