This commit is contained in:
2026-03-31 17:17:12 +02:00
parent 6bf245ac64
commit efee365fc6
8 changed files with 423 additions and 29 deletions

View File

@@ -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