Example #1
0
 /**
  * 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++;
     }
 }
Example #2
0
 /**
  * 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;
 }
Example #3
0
 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());
         }
     }
 }