Files
tryton/tests/test_module.py
T

69 lines
2.3 KiB
Python
Raw Normal View History

2018-07-20 22:52:17 +02:00
# 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 (
2021-12-11 17:58:43 +01:00
CompanyTestMixin, create_company, set_company)
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
2018-07-20 22:52:17 +02:00
class ProductPriceListParentTestCase(CompanyTestMixin, ModuleTestCase):
2018-07-20 22:52:17 +02:00
'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