Files
tryton/tests/test_module.py
T
2022-04-16 18:30:18 +02:00

70 lines
2.3 KiB
Python

# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from decimal import Decimal
from trytond.modules.company.tests import (
CompanyTestMixin, create_company, set_company)
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
class ProductPriceListParentTestCase(CompanyTestMixin, ModuleTestCase):
'Test Product Price List Parent module'
module = 'product_price_list_parent'
@with_transaction()
def test_price_list_parent(self):
"Test price list with parent"
pool = Pool()
Template = pool.get('product.template')
Product = pool.get('product.product')
Party = pool.get('party.party')
Uom = pool.get('product.uom')
PriceList = pool.get('product.price_list')
company = create_company()
with set_company(company):
party = Party(name='Customer')
party.save()
unit, = Uom.search([('name', '=', "Unit")])
template = Template(
name="Template", list_price=Decimal(10), default_uom=unit)
template.save()
product = Product(template=template)
product.save()
price_list_parent, = PriceList.create([{
'name': "Parent",
'lines': [('create', [{
'formula': 'unit_price * 2',
}])],
}])
price_list, = PriceList.create([{
'name': "List",
'parent': price_list_parent.id,
'lines': [('create', [{
'formula': 'parent_unit_price * 2',
}])],
}])
self.assertEqual(
price_list.compute(
party, product, product.list_price, 1, unit),
Decimal('40'))
@with_transaction()
def test_line_formula_help(self):
"Test help of line formula"
pool = Pool()
PriceListLine = pool.get('product.price_list.line')
fields = PriceListLine.fields_get(['formula'])
self.assertIn('parent_unit_price', fields['formula']['help'])
del ModuleTestCase