Pricing bug

This commit is contained in:
2026-05-25 09:56:43 +02:00
parent ddca542bfc
commit e78977dfa5
3 changed files with 45 additions and 13 deletions

View File

@@ -1616,6 +1616,36 @@ class PurchaseTradeTestCase(ModuleTestCase):
])
self.assertEqual(len(prices), 3)
def test_purchase_line_get_avg_accepts_decimal_matrix_prices(self):
'purchase pricing averages Decimal matrix prices without float mixing'
PurchaseLine = Pool().get('purchase.line')
line = PurchaseLine()
prices = [
{'price': Decimal('45.0000')},
{'price': Decimal('55.0000')},
]
result = line.get_avg(prices)
self.assertEqual(result[0]['avg'], Decimal('45.0000'))
self.assertEqual(result[1]['avg_minus_1'], Decimal('45.0000'))
self.assertEqual(result[1]['avg'], Decimal('50.0000'))
def test_sale_line_get_avg_accepts_decimal_matrix_prices(self):
'sale pricing averages Decimal matrix prices without float mixing'
SaleLine = Pool().get('sale.line')
line = SaleLine()
prices = [
{'price': Decimal('45.0000')},
{'price': Decimal('55.0000')},
]
result = line.get_avg(prices)
self.assertEqual(result[0]['avg'], Decimal('45.0000'))
self.assertEqual(result[1]['avg_minus_1'], Decimal('45.0000'))
self.assertEqual(result[1]['avg'], Decimal('50.0000'))
def test_pricing_trigger_manual_application_defaults_to_pricing_from_to(self):
'empty manual application From/To falls back to manual pricing From/To'
Trigger = Pool().get('pricing.trigger')