Initial commit: Odoo 18.0-20251222 extra-addons
This commit is contained in:
55
sale_global_discount/tests/test_account_tax.py
Executable file
55
sale_global_discount/tests/test_account_tax.py
Executable file
@@ -0,0 +1,55 @@
|
||||
# Copyright 2025 Studio73 - Eugenio Micó <eugenio@studio73.es>
|
||||
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
|
||||
|
||||
from odoo.addons.base.tests.common import BaseCommon
|
||||
|
||||
|
||||
class TestAccountTaxGlobalDiscount(BaseCommon):
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.partner = cls.env["res.partner"].create({"name": "Cliente Test"})
|
||||
cls.product = cls.env["product.product"].create(
|
||||
{
|
||||
"name": "Producto Test",
|
||||
"list_price": 100,
|
||||
}
|
||||
)
|
||||
cls.order = cls.env["sale.order"].create(
|
||||
{
|
||||
"partner_id": cls.partner.id,
|
||||
}
|
||||
)
|
||||
cls.discount = cls.env["global.discount"].create(
|
||||
{
|
||||
"name": "Descuento 10%",
|
||||
"discount": 10,
|
||||
}
|
||||
)
|
||||
cls.order.global_discount_ids = [(6, 0, [cls.discount.id])]
|
||||
cls.order_line = cls.env["sale.order.line"].create(
|
||||
{
|
||||
"order_id": cls.order.id,
|
||||
"product_id": cls.product.id,
|
||||
"product_uom_qty": 1,
|
||||
"price_unit": 100,
|
||||
}
|
||||
)
|
||||
cls.tax = cls.env["account.tax"].create(
|
||||
{
|
||||
"name": "IVA 21%",
|
||||
"amount": 21,
|
||||
"type_tax_use": "sale",
|
||||
}
|
||||
)
|
||||
|
||||
def test_prepare_base_line_for_taxes_computation_with_global_discount(self):
|
||||
ctx = dict(self.env.context, from_tax_calculation=True)
|
||||
with self.env.cr.savepoint():
|
||||
tax = self.tax.with_context(**ctx).sudo()
|
||||
kwargs = {"price_unit": 100}
|
||||
res = tax._prepare_base_line_for_taxes_computation(
|
||||
self.order_line, **kwargs
|
||||
)
|
||||
discounted = self.order.get_discounted_global(100, [self.discount.discount])
|
||||
self.assertEqual(res["price_unit"], discounted)
|
||||
Reference in New Issue
Block a user