/**
  * Assert that customer group is not on cart price rule page.
  *
  * @param PromoQuoteNew $promoQuoteNew
  * @param CustomerGroup $customerGroup
  * @return void
  */
 public function processAssert(PromoQuoteNew $promoQuoteNew, CustomerGroup $customerGroup)
 {
     $promoQuoteNew->open();
     $promoQuoteNew->getSalesRuleForm()->openSection('rule_information');
     /** @var RuleInformation $ruleInformationTab */
     $ruleInformationTab = $promoQuoteNew->getSalesRuleForm()->getSection('rule_information');
     \PHPUnit_Framework_Assert::assertFalse($ruleInformationTab->isVisibleCustomerGroup($customerGroup), "Customer group {$customerGroup->getCustomerGroupCode()} is still in cart price rule page.");
 }
 /**
  * Assert that customer group find on cart price rule page.
  *
  * @param PromoQuoteIndex $promoQuoteIndex
  * @param PromoQuoteNew $promoQuoteNew
  * @param CustomerGroup $customerGroup
  * @return void
  */
 public function processAssert(PromoQuoteIndex $promoQuoteIndex, PromoQuoteNew $promoQuoteNew, CustomerGroup $customerGroup)
 {
     $promoQuoteIndex->open();
     $promoQuoteIndex->getGridPageActions()->addNew();
     $promoQuoteNew->getSalesRuleForm()->openTab('rule_information');
     /** @var RuleInformation $ruleInformationTab */
     $ruleInformationTab = $promoQuoteNew->getSalesRuleForm()->getTab('rule_information');
     \PHPUnit_Framework_Assert::assertTrue($ruleInformationTab->isVisibleCustomerGroup($customerGroup), "Customer group {$customerGroup->getCustomerGroupCode()} not in cart price rule page.");
 }
 /**
  * Create Sales Rule Entity.
  *
  * @param SalesRule $salesRule
  * @return void
  */
 public function testCreateSalesRule(SalesRule $salesRule)
 {
     // Preconditions
     $this->salesRuleName = $salesRule->getName();
     // Steps
     $this->promoQuoteNew->open();
     $this->promoQuoteNew->getSalesRuleForm()->fill($salesRule);
     $this->promoQuoteNew->getFormPageActions()->save();
 }
 /**
  * Create Sales Price Rule.
  *
  * @param SalesRule $salesRule
  * @param CatalogProductSimple $productForSalesRule1
  * @param CatalogProductSimple $productForSalesRule2
  * @param Customer $customer
  * @param string $conditionEntity
  */
 public function testCreateSalesRule(SalesRule $salesRule, CatalogProductSimple $productForSalesRule1, CatalogProductSimple $productForSalesRule2 = null, Customer $customer = null, $conditionEntity = null)
 {
     $replace = null;
     $this->salesRuleName = $salesRule->getName();
     // Prepare data
     if ($customer !== null) {
         $customer->persist();
     }
     $productForSalesRule1->persist();
     if ($productForSalesRule2 !== null) {
         $productForSalesRule2->persist();
         if ($conditionEntity !== null) {
             $replace = $this->prepareCondition($productForSalesRule2, $conditionEntity);
         }
     }
     // Steps
     $this->promoQuoteNew->open();
     $this->promoQuoteNew->getSalesRuleForm()->fill($salesRule, null, $replace);
     $this->promoQuoteNew->getFormPageActions()->save();
 }