Fee rules

This commit is contained in:
2026-05-25 14:17:08 +02:00
parent 12727e53cb
commit c6d7b0da2b
5 changed files with 62 additions and 7 deletions

View File

@@ -1812,6 +1812,31 @@ class PurchaseTradeTestCase(ModuleTestCase):
self.assertTrue(rule._matches_line(line, 'purchase_line'))
def test_fee_rule_matches_counterparty_category_parent(self):
'fee rule can match a counterparty by parent category'
parent_category = Mock(id=1, parent=None)
child_category = Mock(id=2, parent=parent_category)
party = Mock(id=3, categories=[child_category])
contract = Mock(
party=party,
incoterm=None,
from_location=None,
to_location=None,
plan=None,
)
line = Mock(product=None, purchase=contract, sale=None)
rule = fee_module.FeeRule()
rule.apply_on = 'purchase_line'
rule.party = None
rule.party_category = parent_category
rule.line_product = None
rule.incoterm_code = None
rule.from_location = None
rule.to_location = None
rule.execution_plan = None
self.assertTrue(rule._matches_line(line, 'purchase_line'))
def test_fee_rule_builds_budgeted_sale_fee_values(self):
'fee rule builds budgeted fee values for a sale line'
currency = Mock(id=1)