pricing: use M2M in pricing_data methods (#67196)
This commit is contained in:
parent
3f9e689e1c
commit
886ea62b72
|
@ -415,7 +415,7 @@ class AgendaPricing(models.Model):
|
|||
adult_external_id=adult_external_id,
|
||||
)
|
||||
pricing, criterias = agenda_pricing.compute_pricing(context=context)
|
||||
modifier = agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
modifier = agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
return agenda_pricing.aggregate_pricing_data(
|
||||
pricing=pricing, criterias=criterias, context=context, modifier=modifier
|
||||
)
|
||||
|
@ -439,7 +439,7 @@ class AgendaPricing(models.Model):
|
|||
def get_agenda_pricing(agenda, event):
|
||||
start_datetime = datetime.datetime.fromisoformat(event['start_datetime'])
|
||||
try:
|
||||
return agenda.old_agendapricings.get(
|
||||
return agenda.agendapricings.get(
|
||||
date_start__lte=start_datetime,
|
||||
date_end__gt=start_datetime,
|
||||
)
|
||||
|
@ -516,7 +516,7 @@ class AgendaPricing(models.Model):
|
|||
|
||||
return pricing, criterias
|
||||
|
||||
def get_booking_modifier(self, check_status):
|
||||
def get_booking_modifier(self, agenda, check_status):
|
||||
status = check_status['status']
|
||||
if status not in ['error', 'not-booked', 'cancelled', 'presence', 'absence']:
|
||||
raise PricingUnknownCheckStatusError
|
||||
|
@ -561,7 +561,7 @@ class AgendaPricing(models.Model):
|
|||
|
||||
try:
|
||||
check_type = CheckType.objects.get(
|
||||
group=self.agenda.check_type_group_id, slug=check_status['check_type']
|
||||
group=agenda.check_type_group_id, slug=check_status['check_type']
|
||||
)
|
||||
except CheckType.DoesNotExist:
|
||||
raise PricingBookingCheckTypeError(
|
||||
|
|
|
@ -293,20 +293,20 @@ def test_get_agenda_pricing():
|
|||
|
||||
# ok
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
assert AgendaPricing.get_agenda_pricing(agenda=agenda, event=event) == agenda_pricing
|
||||
|
||||
# more than one matching
|
||||
AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=14),
|
||||
date_end=datetime.date(year=2021, month=9, day=16),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
with pytest.raises(AgendaPricingNotFound):
|
||||
AgendaPricing.get_agenda_pricing(agenda=agenda, event=event)
|
||||
|
||||
|
@ -331,11 +331,11 @@ def test_get_agenda_pricing_event_date(event_date, found):
|
|||
'start_datetime': make_aware(datetime.datetime(*event_date)).isoformat(),
|
||||
}
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
if found:
|
||||
assert AgendaPricing.get_agenda_pricing(agenda=agenda, event=event) == agenda_pricing
|
||||
else:
|
||||
|
@ -348,11 +348,11 @@ def test_get_pricing_context(mock_send, context, nocache):
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
assert (
|
||||
agenda_pricing.get_pricing_context(
|
||||
request=context['request'], data={}, user_external_id='child:42', adult_external_id='parent:35'
|
||||
|
@ -439,11 +439,11 @@ def test_compute_pricing():
|
|||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
pricing.categories.add(category, through_defaults={'order': 1})
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
# no criteria defined on agenda_pricing
|
||||
with pytest.raises(CriteriaConditionNotFound) as e:
|
||||
agenda_pricing.compute_pricing(context={'qf': 2})
|
||||
|
@ -597,11 +597,11 @@ def test_format_pricing_data():
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
assert agenda_pricing.format_pricing_data() == {}
|
||||
|
||||
agenda_pricing.pricing_data = {
|
||||
|
@ -653,41 +653,38 @@ def test_get_booking_modifier_unknown_check_status():
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
check_status = {'status': 'unknown'}
|
||||
with pytest.raises(PricingUnknownCheckStatusError):
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
|
||||
|
||||
def test_get_booking_modifier_event_not_checked():
|
||||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
check_status = {'status': 'error', 'error_reason': 'event-not-checked'}
|
||||
with pytest.raises(PricingEventNotCheckedError):
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
|
||||
|
||||
def test_get_booking_modifier_no_booking():
|
||||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
check_status = {'status': 'not-booked'}
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'not-booked',
|
||||
'modifier_type': 'rate',
|
||||
'modifier_rate': 0,
|
||||
|
@ -696,20 +693,19 @@ def test_get_booking_modifier_no_booking():
|
|||
# more than one booking found !
|
||||
check_status = {'status': 'error', 'error_reason': 'too-many-bookings-found'}
|
||||
with pytest.raises(PricingMultipleBookingError):
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
|
||||
|
||||
def test_get_booking_modifier_booking_cancelled():
|
||||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
check_status = {'status': 'cancelled'}
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'cancelled',
|
||||
'modifier_type': 'rate',
|
||||
'modifier_rate': 0,
|
||||
|
@ -720,34 +716,32 @@ def test_get_booking_modifier_booking_not_checked():
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
check_status = {'status': 'error', 'error_reason': 'booking-not-checked'}
|
||||
with pytest.raises(PricingBookingNotCheckedError):
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
|
||||
|
||||
def test_get_booking_modifier_unknown_check_type():
|
||||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
check_status = {'status': 'presence', 'check_type': 'unknown'}
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'reason': 'not-found',
|
||||
}
|
||||
check_status = {'status': 'absence', 'check_type': 'unknown'}
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'reason': 'not-found',
|
||||
}
|
||||
|
@ -757,7 +751,6 @@ def test_get_booking_modifier_booking_absence():
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
|
@ -765,7 +758,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
|
||||
# no check type
|
||||
check_status = {'status': 'absence', 'check_type': ''}
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'absence',
|
||||
'check_type_group': None,
|
||||
'check_type': None,
|
||||
|
@ -778,7 +771,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
check_type = CheckType.objects.create(label='Foo reason', group=group, kind='absence')
|
||||
check_status = {'status': 'absence', 'check_type': check_type.slug}
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'reason': 'not-found',
|
||||
}
|
||||
|
@ -786,7 +779,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
agenda.check_type_group = group
|
||||
agenda.save()
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -795,7 +788,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
|
||||
check_type.pricing = 42
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'absence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -805,7 +798,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
|
||||
check_type.pricing = 0
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'absence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -816,7 +809,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
check_type.pricing = None
|
||||
check_type.pricing_rate = 20
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'absence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -826,7 +819,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
|
||||
check_type.pricing_rate = 0
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'absence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -838,7 +831,7 @@ def test_get_booking_modifier_booking_absence():
|
|||
check_type.kind = 'presence'
|
||||
check_type.save()
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -850,7 +843,6 @@ def test_get_booking_modifier_booking_presence():
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
|
@ -858,7 +850,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
|
||||
# no check type
|
||||
check_status = {'status': 'presence', 'check_type': ''}
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'presence',
|
||||
'check_type_group': None,
|
||||
'check_type': None,
|
||||
|
@ -871,7 +863,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
check_type = CheckType.objects.create(label='Foo reason', group=group, kind='presence')
|
||||
check_status = {'status': 'presence', 'check_type': check_type.slug}
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'reason': 'not-found',
|
||||
}
|
||||
|
@ -879,7 +871,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
agenda.check_type_group = group
|
||||
agenda.save()
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -888,7 +880,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
|
||||
check_type.pricing = 42
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'presence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -898,7 +890,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
|
||||
check_type.pricing = 0
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'presence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -909,7 +901,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
check_type.pricing = None
|
||||
check_type.pricing_rate = 150
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'presence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -919,7 +911,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
|
||||
check_type.pricing_rate = 0
|
||||
check_type.save()
|
||||
assert agenda_pricing.get_booking_modifier(check_status=check_status) == {
|
||||
assert agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status) == {
|
||||
'status': 'presence',
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -931,7 +923,7 @@ def test_get_booking_modifier_booking_presence():
|
|||
check_type.kind = 'absence'
|
||||
check_type.save()
|
||||
with pytest.raises(PricingBookingCheckTypeError) as e:
|
||||
agenda_pricing.get_booking_modifier(check_status=check_status)
|
||||
agenda_pricing.get_booking_modifier(agenda=agenda, check_status=check_status)
|
||||
assert e.value.details == {
|
||||
'check_type_group': 'foo-bar',
|
||||
'check_type': 'foo-reason',
|
||||
|
@ -952,8 +944,7 @@ def test_get_pricing_data(context):
|
|||
)
|
||||
pricing.criterias.add(criteria)
|
||||
pricing.categories.add(category, through_defaults={'order': 1})
|
||||
AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
|
@ -961,6 +952,7 @@ def test_get_pricing_data(context):
|
|||
'foo:bar': 42,
|
||||
},
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
assert AgendaPricing.get_pricing_data(
|
||||
request=context['request'],
|
||||
agenda=agenda,
|
||||
|
@ -1114,11 +1106,11 @@ def test_aggregate_pricing_data(modifier, pricing_amount):
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
|
||||
assert agenda_pricing.aggregate_pricing_data(
|
||||
pricing=42, criterias={'foo': 'bar'}, context={'domicile': 'commune', 'qf': 2}, modifier=modifier
|
||||
|
@ -1157,11 +1149,11 @@ def test_agenda_pricing_iter_pricing_matrix_3_categories():
|
|||
pricing.categories.add(category4, through_defaults={'order': 4})
|
||||
pricing.criterias.set(Criteria.objects.exclude(pk=not_used.pk))
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
assert list(agenda_pricing.iter_pricing_matrix()) == [
|
||||
PricingMatrix(
|
||||
criteria=criteria11,
|
||||
|
@ -1382,11 +1374,11 @@ def test_agenda_pricing_iter_pricing_matrix_2_categories():
|
|||
pricing.categories.add(category3, through_defaults={'order': 3})
|
||||
pricing.criterias.set(Criteria.objects.exclude(pk=not_used.pk))
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
|
||||
assert list(agenda_pricing.iter_pricing_matrix()) == [
|
||||
PricingMatrix(
|
||||
|
@ -1494,11 +1486,11 @@ def test_agenda_pricing_iter_pricing_matrix_1_category():
|
|||
pricing.categories.add(category3, through_defaults={'order': 3})
|
||||
pricing.criterias.set(Criteria.objects.exclude(pk=not_used.pk))
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
|
||||
assert list(agenda_pricing.iter_pricing_matrix()) == [
|
||||
PricingMatrix(
|
||||
|
@ -1576,10 +1568,10 @@ def test_agenda_pricing_iter_pricing_matrix_empty():
|
|||
agenda = Agenda.objects.create(label='Foo bar')
|
||||
pricing = Pricing.objects.create(label='Foo bar')
|
||||
agenda_pricing = AgendaPricing.objects.create(
|
||||
agenda=agenda,
|
||||
pricing=pricing,
|
||||
date_start=datetime.date(year=2021, month=9, day=1),
|
||||
date_end=datetime.date(year=2021, month=10, day=1),
|
||||
)
|
||||
agenda_pricing.agendas.add(agenda)
|
||||
|
||||
assert list(agenda_pricing.iter_pricing_matrix()) == []
|
||||
|
|
Loading…
Reference in New Issue