/**
  * 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 = $initialTaxRate !== null ? array_merge($initialTaxRate->getData(), $taxRate->getData()) : $taxRate->getData();
     $data = $this->prepareData($data);
     $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));
 }
 /**
  * Preparing data for verification
  *
  * @param TaxRate $taxRate
  * @param TaxRate $initialTaxRate
  * @return array
  */
 protected function prepareData(TaxRate $taxRate, TaxRate $initialTaxRate = null)
 {
     if ($initialTaxRate !== null) {
         $data = array_merge($initialTaxRate->getData(), $taxRate->getData());
         if ($taxRate->hasData('tax_country_id') && !$taxRate->hasData('tax_region_id')) {
             unset($data['tax_region_id']);
         }
     } else {
         $data = $taxRate->getData();
     }
     if ($data['zip_is_range'] === 'Yes') {
         unset($data['tax_postcode']);
     } else {
         unset($data['zip_from'], $data['zip_to']);
     }
     $data['rate'] = number_format($data['rate'], 4);
     return $data;
 }
Exemple #4
0
 /**
  * Prepare tax rate data.
  *
  * @param TaxRate $taxRate
  * @return array
  */
 public function prepareData(TaxRate $taxRate)
 {
     return $this->replaceMappingData($taxRate->getData());
 }