Merge pull request #3396 from alphagov/fix-relative-date-for-returned-letters

Fix relative date for returned letters
This commit is contained in:
Chris Hill-Scott
2020-04-02 09:58:31 +01:00
committed by GitHub
2 changed files with 21 additions and 7 deletions

View File

@@ -386,9 +386,9 @@ def format_delta(date):
def format_delta_days(date):
now = datetime.now(timezone.utc)
date = utc_string_to_aware_gmt_datetime(date)
if date.strftime('%Y-%M-%D') == now.strftime('%Y-%M-%D'):
if date.strftime('%Y-%m-%d') == now.strftime('%Y-%m-%d'):
return "today"
if date.strftime('%Y-%M-%D') == (now - timedelta(days=1)).strftime('%Y-%M-%D'):
if date.strftime('%Y-%m-%d') == (now - timedelta(days=1)).strftime('%Y-%m-%d'):
return "yesterday"
return naturaltime_without_indefinite_article(now - date)

View File

@@ -497,7 +497,21 @@ def test_returned_letters_not_visible_if_service_has_no_returned_letters(
assert not page.select('#total-returned-letters')
@freeze_time('2020-01-10')
@pytest.mark.parametrize('reporting_date, expected_message', (
('2020-01-10 00:00:00.000000', (
'4,000 returned letters latest report today'
)),
('2020-01-09 23:59:59.000000', (
'4,000 returned letters latest report yesterday'
)),
('2020-01-08 12:12:12.000000', (
'4,000 returned letters latest report 2 days ago'
)),
('2019-12-10 00:00:00.000000', (
'4,000 returned letters latest report 1 month ago'
)),
))
@freeze_time('2020-01-10 12:34:00.000000')
def test_returned_letters_shows_count_of_recently_returned_letters(
client_request,
mocker,
@@ -509,12 +523,14 @@ def test_returned_letters_shows_count_of_recently_returned_letters(
mock_get_usage,
mock_get_free_sms_fragment_limit,
mock_get_inbound_sms_summary,
reporting_date,
expected_message,
):
mocker.patch(
'app.service_api_client.get_returned_letter_statistics',
return_value={
'returned_letter_count': 4000,
'most_recent_report': '2020-01-10',
'most_recent_report': reporting_date,
},
)
page = client_request.get(
@@ -522,9 +538,7 @@ def test_returned_letters_shows_count_of_recently_returned_letters(
service_id=SERVICE_ONE_ID,
)
banner = page.select_one('#total-returned-letters')
assert normalize_spaces(
banner.text
) == '4,000 returned letters latest report today'
assert normalize_spaces(banner.text) == expected_message
assert banner['href'] == url_for(
'main.returned_letter_summary', service_id=SERVICE_ONE_ID
)