From 86b28e5e44673eac1bc5b94a12298fa17b50ee40 Mon Sep 17 00:00:00 2001 From: stvnrlly Date: Tue, 22 Nov 2022 16:33:55 -0500 Subject: [PATCH] some test updates --- app/formatters.py | 6 +++ app/main/forms.py | 1 + tests/app/main/forms/test_choose_time_form.py | 18 ++++---- tests/app/main/views/test_activity.py | 46 +++++++++---------- tests/app/main/views/test_api_integration.py | 2 +- 5 files changed, 41 insertions(+), 32 deletions(-) diff --git a/app/formatters.py b/app/formatters.py index c4ab0fd0f..54b918ff5 100644 --- a/app/formatters.py +++ b/app/formatters.py @@ -75,10 +75,12 @@ def format_datetime_numeric(date): def format_date_numeric(date): + date = dateutil.parser.parse(date, ignoretz=True) return convert_utc_to_local_timezone(date).strftime('%Y-%m-%d') def format_time_24h(date): + date = dateutil.parser.parse(date, ignoretz=True) return convert_utc_to_local_timezone(date).strftime('%H:%M') @@ -119,14 +121,17 @@ def format_time(date): def format_date(date): + date = dateutil.parser.parse(date, ignoretz=True) return convert_utc_to_local_timezone(date).strftime('%A %d %B %Y') def format_date_normal(date): + date = dateutil.parser.parse(date, ignoretz=True) return convert_utc_to_local_timezone(date).strftime('%d %B %Y').lstrip('0') def format_date_short(date): + date = dateutil.parser.parse(date, ignoretz=True) return _format_datetime_short(convert_utc_to_local_timezone(date)) @@ -142,6 +147,7 @@ def format_datetime_human(date, date_prefix=''): def format_day_of_week(date): + date = dateutil.parser.parse(date, ignoretz=True) return convert_utc_to_local_timezone(date).strftime('%A') diff --git a/app/main/forms.py b/app/main/forms.py index 3f4077e3d..f55d5374d 100644 --- a/app/main/forms.py +++ b/app/main/forms.py @@ -104,6 +104,7 @@ def get_human_day(time, prefix_today_with='T'): def get_furthest_possible_scheduled_time(): + # TODO: update this so it pulls in 4 days at local timezone, not UTC return (datetime.utcnow() + timedelta(days=4)).replace(hour=0) diff --git a/tests/app/main/forms/test_choose_time_form.py b/tests/app/main/forms/test_choose_time_form.py index bf130ade3..faef735a5 100644 --- a/tests/app/main/forms/test_choose_time_form.py +++ b/tests/app/main/forms/test_choose_time_form.py @@ -4,26 +4,28 @@ from freezegun import freeze_time from app.main.forms import ChooseTimeForm -@freeze_time("2016-01-01 11:09:00.061258") +@freeze_time("2016-01-01 16:09:00.061258") # this is during DST def test_form_contains_next_24h(notify_admin): choices = ChooseTimeForm().scheduled_for.choices # Friday assert choices[0] == ('', 'Now') - assert choices[1] == ('2016-01-01T12:00:00', 'Today at midday') - assert choices[13] == ('2016-01-02T00:00:00', 'Today at midnight') + assert choices[1] == ('2016-01-01T17:00:00', 'Today at midday') + assert choices[13] == ('2016-01-02T05:00:00', 'Today at midnight') # Saturday - assert choices[14] == ('2016-01-02T01:00:00', 'Tomorrow at 1am') - assert choices[37] == ('2016-01-03T00:00:00', 'Tomorrow at midnight') + assert choices[14] == ('2016-01-02T06:00:00', 'Tomorrow at 1am') + assert choices[37] == ('2016-01-03T05:00:00', 'Tomorrow at midnight') # Sunday - assert choices[38] == ('2016-01-03T01:00:00', 'Sunday at 1am') + assert choices[38] == ('2016-01-03T06:00:00', 'Sunday at 1am') # Monday - assert choices[84] == ('2016-01-04T23:00:00', 'Monday at 11pm') - assert choices[85] == ('2016-01-05T00:00:00', 'Monday at midnight') + assert choices[62] == ('2016-01-04T06:00:00', 'Monday at 1am') + assert choices[80] == ('2016-01-05T00:00:00', 'Monday at 7pm') + # assert choices[84] == ('2016-01-05T04:00:00', 'Monday at 11pm') + # assert choices[85] == ('2016-01-05T05:00:00', 'Monday at midnight') with pytest.raises(IndexError): assert choices[ diff --git a/tests/app/main/views/test_activity.py b/tests/app/main/views/test_activity.py index c986a921c..09f324a9d 100644 --- a/tests/app/main/views/test_activity.py +++ b/tests/app/main/views/test_activity.py @@ -86,7 +86,7 @@ from tests.conftest import ( ('test@example.com', 'test@example.com'), ] ) -@freeze_time('2020-01-01 01:00') +@freeze_time('2020-01-01 06:00') def test_can_show_notifications( client_request, service_one, @@ -723,28 +723,28 @@ def test_big_numbers_dont_show_for_letters( @freeze_time("2017-09-27 16:30:00.000000") @pytest.mark.parametrize( "message_type, status, expected_hint_status, single_line", [ - ('email', 'created', 'Sending since 27 September at 5:30pm', True), - ('email', 'sending', 'Sending since 27 September at 5:30pm', True), - ('email', 'temporary-failure', 'Inbox not accepting messages right now 27 September at 5:31pm', False), - ('email', 'permanent-failure', 'Email address does not exist 27 September at 5:31pm', False), - ('email', 'delivered', 'Delivered 27 September at 5:31pm', True), - ('sms', 'created', 'Sending since 27 September at 5:30pm', True), - ('sms', 'sending', 'Sending since 27 September at 5:30pm', True), - ('sms', 'temporary-failure', 'Phone not accepting messages right now 27 September at 5:31pm', False), - ('sms', 'permanent-failure', 'Not delivered 27 September at 5:31pm', False), - ('sms', 'delivered', 'Delivered 27 September at 5:31pm', True), - ('letter', 'created', '27 September at 5:30pm', True), - ('letter', 'pending-virus-check', '27 September at 5:30pm', True), - ('letter', 'sending', '27 September at 5:30pm', True), - ('letter', 'delivered', '27 September at 5:30pm', True), - ('letter', 'received', '27 September at 5:30pm', True), - ('letter', 'accepted', '27 September at 5:30pm', True), - ('letter', 'cancelled', '27 September at 5:30pm', False), # The API won’t return cancelled letters - ('letter', 'permanent-failure', 'Permanent failure 27 September at 5:31pm', False), - ('letter', 'temporary-failure', '27 September at 5:30pm', False), # Not currently a real letter status - ('letter', 'virus-scan-failed', 'Virus detected 27 September at 5:30pm', False), - ('letter', 'validation-failed', 'Validation failed 27 September at 5:30pm', False), - ('letter', 'technical-failure', 'Technical failure 27 September at 5:30pm', False), + ('email', 'created', 'Sending since 27 September at 12:30pm', True), + ('email', 'sending', 'Sending since 27 September at 12:30pm', True), + ('email', 'temporary-failure', 'Inbox not accepting messages right now 27 September at 12:31pm', False), + ('email', 'permanent-failure', 'Email address does not exist 27 September at 12:31pm', False), + ('email', 'delivered', 'Delivered 27 September at 12:31pm', True), + ('sms', 'created', 'Sending since 27 September at 12:30pm', True), + ('sms', 'sending', 'Sending since 27 September at 12:30pm', True), + ('sms', 'temporary-failure', 'Phone not accepting messages right now 27 September at 12:31pm', False), + ('sms', 'permanent-failure', 'Not delivered 27 September at 12:31pm', False), + ('sms', 'delivered', 'Delivered 27 September at 12:31pm', True), + ('letter', 'created', '27 September at 12:30pm', True), + ('letter', 'pending-virus-check', '27 September at 12:30pm', True), + ('letter', 'sending', '27 September at 12:30pm', True), + ('letter', 'delivered', '27 September at 12:30pm', True), + ('letter', 'received', '27 September at 12:30pm', True), + ('letter', 'accepted', '27 September at 12:30pm', True), + ('letter', 'cancelled', '27 September at 12:30pm', False), # The API won’t return cancelled letters + ('letter', 'permanent-failure', 'Permanent failure 27 September at 12:31pm', False), + ('letter', 'temporary-failure', '27 September at 12:30pm', False), # Not currently a real letter status + ('letter', 'virus-scan-failed', 'Virus detected 27 September at 12:30pm', False), + ('letter', 'validation-failed', 'Validation failed 27 September at 12:30pm', False), + ('letter', 'technical-failure', 'Technical failure 27 September at 12:30pm', False), ] ) def test_sending_status_hint_displays_correctly_on_notifications_page( diff --git a/tests/app/main/views/test_api_integration.py b/tests/app/main/views/test_api_integration.py index d52eea3cf..c90af5c70 100644 --- a/tests/app/main/views/test_api_integration.py +++ b/tests/app/main/views/test_api_integration.py @@ -195,7 +195,7 @@ def test_should_show_api_keys_page( revoke_link = page.select_one('main tr a.govuk-link.govuk-link--destructive') assert rows[0] == 'API keys Action' - assert rows[1] == 'another key name Revoked 1 January at 1:00am' + assert rows[1] == 'another key name Revoked 30 December at 7:00pm' assert rows[2] == 'some key name Revoke some key name' assert normalize_spaces(revoke_link.text) == 'Revoke some key name'