Pricing adj
This commit is contained in:
@@ -3359,13 +3359,13 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
datetime.date(2026, 4, 3),
|
||||
])
|
||||
|
||||
def test_pricing_period_blank_every_uses_available_dates_before_trigger(self):
|
||||
'Blank Every and Nb quotation returns available dates before trigger'
|
||||
def test_pricing_period_blank_every_positive_uses_available_dates_after_trigger(self):
|
||||
'Blank Every and positive Nb quotation returns dates after trigger'
|
||||
Period = Pool().get('pricing.period')
|
||||
calendar = Mock()
|
||||
excluded = {
|
||||
datetime.date(2026, 4, 8),
|
||||
datetime.date(2026, 4, 10),
|
||||
datetime.date(2026, 5, 14),
|
||||
datetime.date(2026, 5, 16),
|
||||
}
|
||||
calendar.IsQuote = Mock(
|
||||
side_effect=lambda date: date.date() not in excluded)
|
||||
@@ -3374,15 +3374,15 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
period.every = None
|
||||
period.nb_quotation = 4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 4, 13), calendar)
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12), calendar)
|
||||
|
||||
self.assertEqual(
|
||||
[date.date() for date in dates],
|
||||
[
|
||||
datetime.date(2026, 4, 6),
|
||||
datetime.date(2026, 4, 7),
|
||||
datetime.date(2026, 4, 9),
|
||||
datetime.date(2026, 4, 12),
|
||||
datetime.date(2026, 5, 13),
|
||||
datetime.date(2026, 5, 15),
|
||||
datetime.date(2026, 5, 17),
|
||||
datetime.date(2026, 5, 18),
|
||||
])
|
||||
|
||||
def test_pricing_period_blank_every_negative_uses_available_dates_before_trigger(self):
|
||||
@@ -3393,17 +3393,40 @@ class PurchaseTradeTestCase(ModuleTestCase):
|
||||
period.every = None
|
||||
period.nb_quotation = -4
|
||||
|
||||
_, _, dates = period.getDates(datetime.date(2026, 4, 13))
|
||||
_, _, dates = period.getDates(datetime.date(2026, 5, 12))
|
||||
|
||||
self.assertEqual(
|
||||
[date.date() for date in dates],
|
||||
[
|
||||
datetime.date(2026, 4, 9),
|
||||
datetime.date(2026, 4, 10),
|
||||
datetime.date(2026, 4, 11),
|
||||
datetime.date(2026, 4, 12),
|
||||
datetime.date(2026, 5, 8),
|
||||
datetime.date(2026, 5, 9),
|
||||
datetime.date(2026, 5, 10),
|
||||
datetime.date(2026, 5, 11),
|
||||
])
|
||||
|
||||
def test_pricing_trigger_application_period_defaults_to_pricing_period(self):
|
||||
'application period defaults to pricing period without being cleared'
|
||||
Trigger = Pool().get('pricing.trigger')
|
||||
trigger = Trigger()
|
||||
trigger.pricing_period = Mock(id=21)
|
||||
trigger.application_period = None
|
||||
|
||||
self.assertEqual(
|
||||
trigger.on_change_with_application_period(),
|
||||
trigger.pricing_period)
|
||||
|
||||
def test_pricing_trigger_application_period_keeps_existing_value(self):
|
||||
'application period keeps explicit value when pricing period changes'
|
||||
Trigger = Pool().get('pricing.trigger')
|
||||
application_period = Mock(id=22)
|
||||
trigger = Trigger()
|
||||
trigger.pricing_period = Mock(id=21)
|
||||
trigger.application_period = application_period
|
||||
|
||||
self.assertEqual(
|
||||
trigger.on_change_with_application_period(),
|
||||
application_period)
|
||||
|
||||
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')
|
||||
|
||||
Reference in New Issue
Block a user