public function getURLParameter($param)
 {
     $url = $this->getCurrentURL();
     return URL::getParameter($url, $param);
 }
 /**
  * Create a Tax Rule.
  *
  * Assumes:
  * - successfuly logged in to the back-office
  * - on a back-office page
  *
  * @return int the id of the created tax rule
  */
 public function createTaxRule($name, $rate, $enabled = true)
 {
     $shop = $this->getShop();
     $browser = $shop->getBackOfficeNavigator()->visit('AdminTaxes');
     $browser->click('#page-header-desc-tax-new_tax')->fillIn($this->i18nFieldName('#name'), $name)->fillIn('#rate', $rate)->prestaShopSwitch('active', $enabled)->click('button[name=submitAddtax]')->ensureStandardSuccessMessageDisplayed();
     $id_tax = $browser->getURLParameter('id_tax');
     if ((int) $id_tax < 1) {
         throw new \PrestaShop\PSTAF\Exception\TaxRuleCreationIncorrectException("id_tax not a positive integer");
     }
     $check_url = URL::filterParameters($browser->getCurrentURL(), ['controller', 'id_tax', 'token'], ['updatetax' => 1]);
     $browser->visit($check_url);
     $actual_name = $browser->getValue($this->i18nFieldName('#name'));
     $actual_rate = $this->i18nParse($browser->getValue('#rate'), 'float');
     $actual_enabled = $browser->prestaShopSwitchValue('active');
     if ($actual_name !== $name || $actual_rate !== (double) $rate || $actual_enabled != $enabled) {
         throw new \PrestaShop\PSTAF\Exception\TaxRuleCreationIncorrectException("stored results differ from submitted data");
     }
     return (int) $id_tax;
 }