From cb7f5a71660c5e682fc4ca5677655b678cf45adf Mon Sep 17 00:00:00 2001 From: Leo Hemsted Date: Mon, 2 Jul 2018 14:16:40 +0100 Subject: [PATCH] fix letters being put in the wrong bucket when near midnight cut-off another day, another timezone bug --- app/letters/utils.py | 6 +++--- tests/app/letters/test_letter_utils.py | 8 ++++++++ 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/app/letters/utils.py b/app/letters/utils.py index 83792c7cc..c14cc80d1 100644 --- a/app/letters/utils.py +++ b/app/letters/utils.py @@ -26,9 +26,9 @@ def get_folder_name(_now, is_test_or_scan_letter=False): if is_test_or_scan_letter: folder_name = '' else: - print_datetime = _now - if convert_utc_to_bst(_now).time() > current_app.config.get('LETTER_PROCESSING_DEADLINE'): - print_datetime = _now + timedelta(days=1) + print_datetime = convert_utc_to_bst(_now) + if print_datetime.time() > current_app.config.get('LETTER_PROCESSING_DEADLINE'): + print_datetime += timedelta(days=1) folder_name = '{}/'.format(print_datetime.date()) return folder_name diff --git a/tests/app/letters/test_letter_utils.py b/tests/app/letters/test_letter_utils.py index e68e1093e..8d5f5017c 100644 --- a/tests/app/letters/test_letter_utils.py +++ b/tests/app/letters/test_letter_utils.py @@ -209,6 +209,14 @@ def test_move_failed_pdf_scan_failed(notify_api): ("2018-07-02 16:31:00", "2018-07-03/"), ("2018-01-02 16:31:00", "2018-01-02/"), ("2018-01-02 17:31:00", "2018-01-03/"), + + ("2018-07-02 22:30:00", "2018-07-03/"), + ("2018-07-02 23:30:00", "2018-07-03/"), + ("2018-07-03 00:30:00", "2018-07-03/"), + + ("2018-01-02 22:30:00", "2018-01-03/"), + ("2018-01-02 23:30:00", "2018-01-03/"), + ("2018-01-03 00:30:00", "2018-01-03/"), ]) def test_get_folder_name_in_british_summer_time(notify_api, freeze_date, expected_folder_name): with freeze_time(freeze_date):