mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-03 21:21:14 -04:00
test time fixes and bonus letter removal
This commit is contained in:
@@ -4,79 +4,10 @@ from flask import url_for
|
||||
from freezegun import freeze_time
|
||||
|
||||
from app.utils.letters import (
|
||||
get_letter_printing_statement,
|
||||
get_letter_validation_error,
|
||||
printing_today_or_tomorrow,
|
||||
)
|
||||
|
||||
|
||||
@pytest.mark.parametrize('utc_datetime', [
|
||||
'2018-08-01T23:00:00+00:00',
|
||||
'2018-08-01T16:29:00+00:00',
|
||||
'2018-11-01T00:00:00+00:00',
|
||||
'2018-11-01T10:00:00+00:00',
|
||||
'2018-11-01T17:29:00+00:00',
|
||||
])
|
||||
def test_printing_today_or_tomorrow_returns_today(utc_datetime):
|
||||
with freeze_time(utc_datetime):
|
||||
assert printing_today_or_tomorrow(utc_datetime) == 'today'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('utc_datetime', [
|
||||
'2018-08-01T22:59:00+00:00',
|
||||
'2018-08-01T16:30:00+00:00',
|
||||
'2018-11-01T17:30:00+00:00',
|
||||
'2018-11-01T21:00:00+00:00',
|
||||
'2018-11-01T23:59:00+00:00',
|
||||
])
|
||||
def test_printing_today_or_tomorrow_returns_tomorrow(utc_datetime):
|
||||
with freeze_time(utc_datetime):
|
||||
assert printing_today_or_tomorrow(utc_datetime) == 'tomorrow'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('created_at, current_datetime', [
|
||||
('2017-07-07T12:00:00+00:00', '2017-07-07 16:29:00'), # created today, summer
|
||||
('2017-07-06T23:30:00+00:00', '2017-07-07 16:29:00'), # created just after midnight, summer
|
||||
('2017-12-12T12:00:00+00:00', '2017-12-12 17:29:00'), # created today, winter
|
||||
('2017-12-12T21:30:00+00:00', '2017-12-13 17:29:00'), # created after 5:30 yesterday
|
||||
('2017-03-25T17:31:00+00:00', '2017-03-26 16:29:00'), # over clock change period on 2017-03-26
|
||||
])
|
||||
def test_get_letter_printing_statement_when_letter_prints_today(created_at, current_datetime):
|
||||
with freeze_time(current_datetime):
|
||||
statement = get_letter_printing_statement('created', created_at)
|
||||
|
||||
assert statement == 'Printing starts today at 5:30pm'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('created_at, current_datetime', [
|
||||
('2017-07-07T16:31:00+00:00', '2017-07-07 22:59:00'), # created today, summer
|
||||
('2017-12-12T17:31:00+00:00', '2017-12-12 23:59:00'), # created today, winter
|
||||
])
|
||||
def test_get_letter_printing_statement_when_letter_prints_tomorrow(created_at, current_datetime):
|
||||
with freeze_time(current_datetime):
|
||||
statement = get_letter_printing_statement('created', created_at)
|
||||
|
||||
assert statement == 'Printing starts tomorrow at 5:30pm'
|
||||
|
||||
|
||||
@pytest.mark.parametrize('created_at, print_day', [
|
||||
('2017-07-06T16:29:00+00:00', 'yesterday'),
|
||||
('2017-12-01T00:00:00+00:00', 'on 1 December'),
|
||||
('2017-03-26T12:00:00+00:00', 'on 26 March'),
|
||||
])
|
||||
@freeze_time('2017-07-07 12:00:00')
|
||||
def test_get_letter_printing_statement_for_letter_that_has_been_sent(created_at, print_day):
|
||||
statement = get_letter_printing_statement('delivered', created_at)
|
||||
|
||||
assert statement == 'Printed {} at 5:30pm'.format(print_day)
|
||||
|
||||
|
||||
def test_get_letter_validation_error_for_unknown_error():
|
||||
assert get_letter_validation_error('Unknown error') == {
|
||||
'title': 'Validation failed'
|
||||
}
|
||||
|
||||
|
||||
@pytest.mark.parametrize('error_message, invalid_pages, expected_title, expected_content, expected_summary', [
|
||||
(
|
||||
'letter-not-a4-portrait-oriented',
|
||||
|
||||
Reference in New Issue
Block a user