1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/sale_external_tax/tests/test_sale.py
2024-12-10 09:04:09 +07:00

40 lines
1.5 KiB
Python

# Part of Odoo. See LICENSE file for full copyright and licensing details.
from unittest.mock import patch
from odoo.tests import tagged
from odoo.addons.sale.tests.common import SaleCommon
from odoo import Command
@tagged('post_install', '-at_install')
class TestSaleExternalTaxesSale(SaleCommon):
def test_01_send_locked_order(self):
""" Ensure locked sale orders with external taxes can be sent without tax recomputation """
order = self.env['sale.order'].create({
'name': 'test',
'partner_id': self.partner.id,
'date_order': '2023-01-01',
'order_line': [
Command.create({
'product_id': self.consumable_product.id,
'price_unit': 100.0,
}),
],
})
def _set_external_taxes(self, mapped_taxes, summary):
self.order_line.write({'tax_id': [Command.clear()]})
def _compute_is_tax_computed_externally(self):
self.is_tax_computed_externally = True
TaxMixin = self.env.registry['account.external.tax.mixin']
SaleOrder = self.env.registry['sale.order']
with (
patch.object(SaleOrder, '_set_external_taxes', _set_external_taxes),
patch.object(TaxMixin, '_compute_is_tax_computed_externally', _compute_is_tax_computed_externally),
):
order.action_confirm()
order.action_lock()
order.action_quotation_send()