1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- # -*- coding: utf-8 -*-
- from odoo.addons.account.tests.test_tax import TestTaxCommon
- from odoo.tests import tagged
- @tagged('post_install', '-at_install')
- class TestTaxPython(TestTaxCommon):
- @classmethod
- def setUpClass(cls):
- super(TestTaxPython, cls).setUpClass()
- cls.python_tax = cls.env['account.tax'].create({
- 'name': 'Python TAx',
- 'amount_type': 'code',
- 'amount': 0.0,
- 'python_compute': 'result = ((price_unit * quantity) - ((price_unit * quantity) / 1.12)) * 0.5',
- 'sequence': 1,
- })
- def test_tax_python_basic(self):
- res = self.python_tax.compute_all(130.0)
- self._check_compute_all_results(
- 136.96, # 'total_included'
- 130.0, # 'total_excluded'
- [
- # base , amount | seq | amount | incl | incl_base
- # --------------------------------------------------
- (130.0, 6.96), # | 1 | 6% | t |
- # --------------------------------------------------
- ],
- res
- )
- def test_tax_python_price_include(self):
- self.python_tax.price_include = True
- res = self.python_tax.compute_all(130.0)
- self._check_compute_all_results(
- 130, # 'total_included'
- 123.04, # 'total_excluded'
- [
- # base , amount | seq | amount | incl | incl_base
- # ---------------------------------------------------
- (123.04, 6.96), # | 1 | 6% | t |
- # ---------------------------------------------------
- ],
- res
- )
- res = (self.python_tax + self.python_tax).compute_all(130.0)
- self._check_compute_all_results(
- 130, # 'total_included'
- 116.07, # 'total_excluded'
- [
- # base , amount | seq | amount | incl | incl_base
- # ---------------------------------------------------
- (116.07, 6.96), # | 1 | 6% | t |
- (116.07, 6.97), # | 1 | 6% | t |
- # ---------------------------------------------------
- ],
- res
- )
|