misc: rewrite fixtures in tests about gcd to speed them (#53172)

This commit is contained in:
Lauréline Guérin 2021-04-16 10:23:32 +02:00
parent 71850e67c6
commit d5ae3cd745
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
1 changed files with 41 additions and 24 deletions

View File

@ -4392,20 +4392,30 @@ def test_agenda_meeting_api_desk_info(app, meetings_agenda, user):
assert resp.json['desk']['slug'] == desk.slug
def test_agenda_meeting_gcd_durations(app, meetings_agenda, user):
meetings_agenda.maximal_booking_delay = 8
meetings_agenda.save()
@pytest.mark.freeze_time('2017-05-20')
def test_agenda_meeting_gcd_durations(app, user):
meetings_agenda = Agenda.objects.create(
label=u'Foo bar Meeting', kind='meetings', minimal_booking_delay=1, maximal_booking_delay=8
)
meeting_type_30 = MeetingType.objects.create(agenda=meetings_agenda, label='Blah', duration=30)
desk = Desk.objects.create(agenda=meetings_agenda, label='Desk 1')
TimePeriod.objects.create(
weekday=0,
start_time=datetime.time(10, 0),
end_time=datetime.time(13, 0),
desk=desk,
)
TimePeriod.objects.create(
weekday=1,
start_time=datetime.time(10, 0),
end_time=datetime.time(17, 0),
desk=desk,
)
time_period = TimePeriod.objects.get(end_time=datetime.time(12, 0))
time_period.end_time = datetime.time(13, 0)
time_period.save()
meeting_type_30 = MeetingType.objects.get(duration=30)
resp = app.get('/api/agenda/meetings/%s/datetimes/' % meeting_type_30.id)
resp = app.get('/api/agenda/meetings/%s/datetimes/' % meeting_type_30.pk)
assert len(resp.json['data']) == 20
meeting_type_20 = MeetingType(agenda=meetings_agenda, label='Lorem', duration=20)
meeting_type_20.save()
meeting_type_20 = MeetingType.objects.create(agenda=meetings_agenda, label='Lorem', duration=20)
assert meetings_agenda.get_base_meeting_duration() == 10
resp = app.get('/api/agenda/meetings/%s/datetimes/' % meeting_type_30.id)
@ -4453,19 +4463,26 @@ def test_agenda_meeting_gcd_durations(app, meetings_agenda, user):
)
def test_agenda_meeting_gcd_durations_and_exceptions(app, meetings_agenda, user):
meetings_agenda.maximal_booking_delay = 3
meetings_agenda.save()
MeetingType.objects.all().delete()
meeting_type_20 = MeetingType(agenda=meetings_agenda, label='Blah 20', duration=20)
meeting_type_20.save()
meeting_type_40 = MeetingType(agenda=meetings_agenda, label='Blah 40', duration=40)
meeting_type_40.save()
desk = meetings_agenda.desk_set.all()[0]
@pytest.mark.freeze_time('2017-05-20')
def test_agenda_meeting_gcd_durations_and_exceptions(app, user):
meetings_agenda = Agenda.objects.create(
label=u'Foo bar Meeting', kind='meetings', minimal_booking_delay=1, maximal_booking_delay=3
)
desk = Desk.objects.create(agenda=meetings_agenda, label='Desk 1')
TimePeriod.objects.create(
weekday=0,
start_time=datetime.time(10, 0),
end_time=datetime.time(12, 0),
desk=desk,
)
TimePeriod.objects.create(
weekday=1,
start_time=datetime.time(10, 0),
end_time=datetime.time(17, 0),
desk=desk,
)
meeting_type_20 = MeetingType.objects.create(agenda=meetings_agenda, label='Blah 20', duration=20)
meeting_type_40 = MeetingType.objects.create(agenda=meetings_agenda, label='Blah 40', duration=40)
resp = app.get('/api/agenda/meetings/%s/datetimes/' % meeting_type_20.id)
assert len(resp.json['data']) == 6