From 22824ec260fa2e77b65065539adef9731851ab51 Mon Sep 17 00:00:00 2001 From: Valentin Deniaud Date: Thu, 12 Nov 2020 15:26:49 +0100 Subject: [PATCH 2/2] api: use current timezone in get_max_datetime (#48464) --- chrono/api/views.py | 4 ++-- tests/test_api.py | 5 ++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/chrono/api/views.py b/chrono/api/views.py index b4b0664..d134495 100644 --- a/chrono/api/views.py +++ b/chrono/api/views.py @@ -68,7 +68,7 @@ def get_min_datetime(agenda, start_datetime=None): if agenda.minimal_booking_delay is None: return start_datetime - min_datetime = now() + datetime.timedelta(days=agenda.minimal_booking_delay) + min_datetime = localtime(now()) + datetime.timedelta(days=agenda.minimal_booking_delay) min_datetime = min_datetime.replace(hour=0, minute=0, second=0, microsecond=0) if start_datetime is None: return min_datetime @@ -79,7 +79,7 @@ def get_max_datetime(agenda, end_datetime=None): if agenda.maximal_booking_delay is None: return end_datetime - max_datetime = now() + datetime.timedelta(days=agenda.maximal_booking_delay) + max_datetime = localtime(now()) + datetime.timedelta(days=agenda.maximal_booking_delay) max_datetime = max_datetime.replace(hour=0, minute=0, second=0, microsecond=0) if end_datetime is None: return max_datetime diff --git a/tests/test_api.py b/tests/test_api.py index d867dbc..063fbe9 100644 --- a/tests/test_api.py +++ b/tests/test_api.py @@ -4473,7 +4473,10 @@ def test_unavailabilitycalendar_on_virtual_datetimes(app, user, mock_now): assert data[-1]['datetime'] == '2017-05-23 10:30:00' -def test_datetimes_maximal_booking_delay(app, user): +@pytest.mark.parametrize('test_datetime', (None, '2020-11-11 23:50')) +def test_datetimes_maximal_booking_delay(app, user, freezer, test_datetime): + if test_datetime: + freezer.move_to(test_datetime) foo_agenda = Agenda.objects.create( label='Foo Meeting', kind='meetings', minimal_booking_delay=1, maximal_booking_delay=1 ) -- 2.20.1