コード例 #1
0
 public function testRemoveTaxRule()
 {
     $this->taxRuleModelMock->expects($this->any())->method('load')->with(self::TAX_RULE_ID)->will($this->returnValue($this->taxRuleModelMock));
     $this->taxRuleModelMock->expects($this->any())->method('getId')->will($this->onConsecutiveCalls(self::TAX_RULE_ID, null));
     $this->taxRuleModelFactoryMock->expects($this->any())->method('create')->will($this->returnValue($this->taxRuleModelMock));
     $this->taxRuleRegistry->registerTaxRule($this->taxRuleModelMock);
     $expected = $this->taxRuleRegistry->retrieveTaxRule(self::TAX_RULE_ID);
     $this->assertEquals($this->taxRuleModelMock, $expected);
     // Remove the tax rule
     $this->taxRuleRegistry->removeTaxRule(self::TAX_RULE_ID);
     // Verify that if the tax rule is retrieved again, an exception is thrown
     try {
         $this->taxRuleRegistry->retrieveTaxRule(self::TAX_RULE_ID);
         $this->fail('NoSuchEntityException was not thrown as expected');
     } catch (NoSuchEntityException $e) {
         $expectedParams = ['fieldName' => 'taxRuleId', 'fieldValue' => self::TAX_RULE_ID];
         $this->assertEquals($expectedParams, $e->getParameters());
     }
 }
コード例 #2
0
 /**
  * Save Tax Rule
  *
  * @param TaxRule $rule
  * @return TaxRuleModel
  * @throws InputException
  * @throws ModelException
  */
 protected function saveTaxRule(TaxRule $rule)
 {
     $this->validate($rule);
     $taxRuleModel = $this->converter->createTaxRuleModel($rule);
     try {
         $taxRuleModel->save();
     } catch (ModelException $e) {
         if ($e->getCode() == ModelException::ERROR_CODE_ENTITY_ALREADY_EXISTS) {
             throw new InputException($e->getMessage());
         } else {
             throw $e;
         }
     }
     $this->taxRuleRegistry->registerTaxRule($taxRuleModel);
     return $taxRuleModel;
 }
コード例 #3
0
ファイル: TaxRuleRepository.php プロジェクト: nja78/magento2
 /**
  * {@inheritdoc}
  */
 public function deleteById($ruleId)
 {
     $rule = $this->taxRuleRegistry->retrieveTaxRule($ruleId);
     return $this->delete($rule);
 }