/**
  * Create Tax Rate Entity test.
  *
  * @param TaxRate $taxRate
  * @return void
  */
 public function testCreateTaxRate(TaxRate $taxRate)
 {
     // Steps
     $this->taxRateIndexPage->open();
     $this->taxRateIndexPage->getGridPageActions()->addNew();
     $this->taxRateNewPage->getTaxRateForm()->fill($taxRate);
     $this->taxRateNewPage->getFormPageActions()->save();
 }
 /**
  * Assert tax rule availability in Tax Rate grid
  *
  * @param TaxRateIndex $taxRateIndexPage
  * @param TaxRate $taxRate
  * @param TaxRate $initialTaxRate
  * @return void
  */
 public function processAssert(TaxRateIndex $taxRateIndexPage, TaxRate $taxRate, TaxRate $initialTaxRate = null)
 {
     $data = $initialTaxRate === null ? $taxRate->getData() : array_merge($initialTaxRate->getData(), $taxRate->getData());
     $filter = ['code' => $data['code'], 'tax_country_id' => $data['tax_country_id']];
     $filter['tax_postcode'] = $data['zip_is_range'] === 'No' ? $data['tax_postcode'] : $data['zip_from'] . '-' . $data['zip_to'];
     $taxRateIndexPage->open();
     \PHPUnit_Framework_Assert::assertTrue($taxRateIndexPage->getTaxRateGrid()->isRowVisible($filter), 'Tax Rate \'' . $filter['code'] . '\' is absent in Tax Rate grid.');
 }
 /**
  * Assert that tax rate form filled correctly
  *
  * @param TaxRateIndex $taxRateIndexPage
  * @param TaxRateNew $taxRateNewPage
  * @param TaxRate $taxRate
  * @param TaxRate $initialTaxRate
  * @return void
  */
 public function processAssert(TaxRateIndex $taxRateIndexPage, TaxRateNew $taxRateNewPage, TaxRate $taxRate, TaxRate $initialTaxRate = null)
 {
     $data = $this->prepareData($taxRate, $initialTaxRate);
     $filter = ['code' => $data['code']];
     $taxRateIndexPage->open();
     $taxRateIndexPage->getTaxRateGrid()->searchAndOpen($filter);
     $formData = $taxRateNewPage->getTaxRateForm()->getData($taxRate);
     $dataDiff = $this->verifyForm($formData, $data);
     \PHPUnit_Framework_Assert::assertTrue(empty($dataDiff), 'Tax Rate form was filled incorrectly.' . "\nLog:\n" . implode(";\n", $dataDiff));
 }
 /**
  * Delete Tax Rate Entity test.
  *
  * @param TaxRate $taxRate
  * @return void
  */
 public function testDeleteTaxRate(TaxRate $taxRate)
 {
     // Precondition
     $taxRate->persist();
     // Steps
     $filter = ['code' => $taxRate->getCode()];
     $this->taxRateIndex->open();
     $this->taxRateIndex->getTaxRateGrid()->searchAndOpen($filter);
     $this->taxRateNew->getFormPageActions()->delete();
 }
 /**
  * Update Tax Rate Entity test.
  *
  * @param TaxRate $initialTaxRate
  * @param TaxRate $taxRate
  * @return void
  */
 public function testUpdateTaxRate(TaxRate $initialTaxRate, TaxRate $taxRate)
 {
     // Precondition
     $initialTaxRate->persist();
     // Steps
     $filter = ['code' => $initialTaxRate->getCode()];
     $this->taxRateIndex->open();
     $this->taxRateIndex->getTaxRateGrid()->searchAndOpen($filter);
     $this->taxRateNew->getTaxRateForm()->fill($taxRate);
     $this->taxRateNew->getFormPageActions()->save();
 }
 /**
  * Assert that tax rate not available in Tax Rate grid
  *
  * @param TaxRateIndex $taxRateIndex
  * @param TaxRate $taxRate
  * @return void
  */
 public function processAssert(TaxRateIndex $taxRateIndex, TaxRate $taxRate)
 {
     $filter = ['code' => $taxRate->getCode()];
     $taxRateIndex->open();
     \PHPUnit_Framework_Assert::assertFalse($taxRateIndex->getTaxRateGrid()->isRowVisible($filter), 'Tax Rate \'' . $filter['code'] . '\' is present in Tax Rate grid.');
 }
 /**
  * Assert that success message is displayed after tax rate saved
  *
  * @param TaxRateIndex $taxRateIndexPage
  * @return void
  */
 public function processAssert(TaxRateIndex $taxRateIndexPage)
 {
     $actualMessage = $taxRateIndexPage->getMessagesBlock()->getSuccessMessages();
     \PHPUnit_Framework_Assert::assertEquals(self::SUCCESS_MESSAGE, $actualMessage, 'Wrong success message is displayed.' . "\nExpected: " . self::SUCCESS_MESSAGE . "\nActual: " . $actualMessage);
 }