31.03.26
This commit is contained in:
@@ -6,6 +6,7 @@ from unittest.mock import Mock, patch
|
||||
|
||||
from trytond.pool import Pool
|
||||
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
|
||||
from trytond.modules.purchase_trade import valuation as valuation_module
|
||||
|
||||
|
||||
class PurchaseTradeTestCase(ModuleTestCase):
|
||||
@@ -70,5 +71,43 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
strategy.get_mtm(line, Decimal('10')),
|
||||
Decimal('250.00'))
|
||||
|
||||
def test_parse_numbers_supports_common_separators(self):
|
||||
'parse_numbers splits spaces commas semicolons and new lines'
|
||||
self.assertEqual(
|
||||
valuation_module.ValuationProcess._parse_numbers(
|
||||
'PUR-001, PUR-002\nPUR-003;PUR-004'
|
||||
),
|
||||
['PUR-001', 'PUR-002', 'PUR-003', 'PUR-004'])
|
||||
|
||||
def test_get_generate_types_maps_business_groups(self):
|
||||
'valuation type groups map to the expected stored valuation types'
|
||||
Valuation = Pool().get('valuation.valuation')
|
||||
|
||||
self.assertEqual(
|
||||
Valuation._get_generate_types('fees'),
|
||||
{'line fee', 'pur. fee', 'sale fee', 'shipment fee'})
|
||||
self.assertEqual(
|
||||
Valuation._get_generate_types('derivatives'),
|
||||
{'derivative'})
|
||||
self.assertIn('pur. priced', Valuation._get_generate_types('goods'))
|
||||
|
||||
def test_filter_values_by_types_keeps_matching_entries_only(self):
|
||||
'type filtering keeps only the requested valuation entries'
|
||||
Valuation = Pool().get('valuation.valuation')
|
||||
|
||||
values = [
|
||||
{'type': 'pur. fee', 'amount': Decimal('10')},
|
||||
{'type': 'pur. priced', 'amount': Decimal('20')},
|
||||
{'type': 'derivative', 'amount': Decimal('30')},
|
||||
]
|
||||
|
||||
self.assertEqual(
|
||||
Valuation._filter_values_by_types(
|
||||
values, {'pur. fee', 'derivative'}),
|
||||
[
|
||||
{'type': 'pur. fee', 'amount': Decimal('10')},
|
||||
{'type': 'derivative', 'amount': Decimal('30')},
|
||||
])
|
||||
|
||||
|
||||
del ModuleTestCase
|
||||
|
||||
Reference in New Issue
Block a user