/** * Test get all options * * @dataProvider getAllOptionsProvider */ public function testGetAllOptions($classFilter, $expected) { $model = new Mage_Tax_Model_Calculation_Rule(Mage::getModel('Mage_Core_Model_Event_Manager'), Mage::getModel('Mage_Core_Model_Cache'), Mage::helper('Mage_Tax_Helper_Data'), Mage::getModel('Mage_Tax_Model_Class'), null, null, array()); $classes = $model->getAllOptionsForClass($classFilter); $this->assertCount(count($expected), $classes); $count = 0; foreach ($classes as $class) { $this->assertEquals($expected[$count], $class['label']); $count++; } }
/** * Check if this a duplicate rule creation request * * @param Mage_Tax_Model_Calculation_Rule $ruleModel * @return bool */ protected function _isValidRuleRequest($ruleModel) { $existingRules = $ruleModel->fetchRuleCodes($ruleModel->getTaxRate(), $ruleModel->getTaxCustomerClass(), $ruleModel->getTaxProductClass()); //Remove the current one from the list $existingRules = array_diff($existingRules, array($ruleModel->getCode())); //Verify if a Rule already exists. If not throw an error if (count($existingRules) > 0) { $ruleCodes = implode(",", $existingRules); $this->_getSingletonModel('adminhtml/session')->addError($this->_getHelperModel('tax')->__('Rules (%s) already exist for the specified Tax Rate, Customer Tax Class and Product Tax Class combinations', $ruleCodes)); return false; } return true; }
public function tax_calculation_rule() { $items = Mage::getModel('tax/calculation_rule')->getCollection()->getItems(); foreach ($items as $item) { $item->delete(); } $this->conn->query('ALTER TABLE `tax_calculation_rule` AUTO_INCREMENT=1'); foreach ($this->objects['tax_calculation_rule'] as $item) { $model = new Mage_Tax_Model_Calculation_Rule(); foreach ($item as $key => $value) { $model->setData($key, $value); } try { $model->save(); } catch (Exception $e) { mage::d($e->getMessage()); } } }