From 3ed89ef59d6bbba860c7b17a72c4cf83a97e7d17 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 18 Dec 2017 21:08:45 +0100 Subject: [PATCH 3/3] tests: add check for a change in opening hours --- tests/test_api.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/tests/test_api.py b/tests/test_api.py index 8687a76..2548f75 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -1124,3 +1124,32 @@ def test_agenda_meeting_gcd_durations_and_exceptions(app, meetings_agenda, user) assert len(resp.json['data']) == 1 resp = app.get('/api/agenda/meetings/%s/datetimes/' % meeting_type_40.id) assert len(resp.json['data']) == 0 + + +def test_datetimes_api_meetings_agenda_start_hour_change(app, meetings_agenda): + meeting_type = MeetingType.objects.get(agenda=meetings_agenda) + api_url = '/api/agenda/%s/meetings/%s/datetimes/' % ( + meeting_type.agenda.slug, meeting_type.slug) + + resp = app.get(api_url) + dt = datetime.datetime.strptime(resp.json['data'][2]['id'].split(':')[1], '%Y-%m-%d-%H%M') + ev = Event(agenda=meetings_agenda, meeting_type=meeting_type, + places=1, full=False, start_datetime=make_aware(dt), desk=Desk.objects.first()) + ev.save() + booking = Booking(event=ev) + booking.save() + + resp = app.get(api_url) + assert len([x for x in resp.json['data'] if x['disabled']]) == 1 + + desk = Desk.objects.get(label='Desk 1') + # shift opening times by 15 minutes + for timeperiod in desk.timeperiod_set.all(): + timeperiod.start_time = timeperiod.start_time.replace(minute=15) + timeperiod.end_time = timeperiod.end_time.replace(minute=15) + timeperiod.save() + + # two slots should now be marked as disabled as the previous booking spans + # them. + resp = app.get(api_url) + assert len([x for x in resp.json['data'] if x['disabled']]) == 2 -- 2.15.1