diff --git a/app/templates/views/returned-letter-summary.html b/app/templates/views/returned-letter-summary.html index 436cfd0f4..04dcc117b 100644 --- a/app/templates/views/returned-letter-summary.html +++ b/app/templates/views/returned-letter-summary.html @@ -7,7 +7,7 @@ {% block maincolumn_content %}

- Messages sent + Returned letters

{% call(item, row_number) list_table( @@ -23,7 +23,7 @@ ) %} {% call field() %} - Returned letters reported on {{ item.reported_at | format_datetime_short}} ({{ item.returned_letter_count}} letters) + Returned letters reported on {{ item.reported_at | format_date}} ({{ item.returned_letter_count}} letters) {% endcall %} {% endcall %} diff --git a/tests/app/main/views/test_returned_letters.py b/tests/app/main/views/test_returned_letters.py index e69de29bb..7923e246f 100644 --- a/tests/app/main/views/test_returned_letters.py +++ b/tests/app/main/views/test_returned_letters.py @@ -0,0 +1,50 @@ +from tests.conftest import SERVICE_ONE_ID, normalize_spaces + + +def test_returned_letter_summary( + client_request, + mocker +): + summary_data = [{'returned_letter_count': 30, 'reported_at': '2019-12-24'}] + mock = mocker.patch("app.service_api_client.get_returned_letter_summary", + return_value=summary_data) + + page = client_request.get("main.returned_letter_summary", service_id=SERVICE_ONE_ID) + + mock.assert_called_once_with(SERVICE_ONE_ID) + + expected_text = "Returned letters reported on Tuesday 24 December 2019 (30 letters)" + assert page.h1.string.strip() == 'Returned letters' + assert normalize_spaces(page.select('.table-field-left-aligned')[0].text) == expected_text + + +def test_returned_letters_reports( + client_request, + mocker +): + data = [{ + 'notification_id': '12345678', + 'client_reference': '2344567', + 'created_at': '2019-12-24 13:30', + 'email_address': 'test@gov.uk', + 'template_name': 'First letter template', + 'template_id': '3445667', + 'template_version': 2, + 'original_file_name': None, + 'job_row_number': None, + 'uploaded_letter': 'test_letter.pdf', + }] + mock = mocker.patch("app.service_api_client.get_returned_letters", return_value=data) + + response = client_request.get_response("main.returned_letters_report", + service_id=SERVICE_ONE_ID, + reported_at='2019-12-24') + + report = response.get_data(as_text=True) + mock.assert_called_once_with(SERVICE_ONE_ID, '2019-12-24') + assert report.strip() == ( + 'Notification ID,Reference,Date sent,Sent by,Template name,Template ID,Template version,' + + 'Spreadsheet file name,Spreadsheet row number,Uploaded letter\r\n' + + '12345678,2344567,2019-12-24 13:30,test@gov.uk,' + + 'First letter template,3445667,2,,,test_letter.pdf' + ) diff --git a/tests/conftest.py b/tests/conftest.py index c56337126..c5e4b371f 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -2921,6 +2921,19 @@ def client_request( assert_url_expected(resp.location, _expected_redirect) return BeautifulSoup(resp.data.decode('utf-8'), 'html.parser') + @staticmethod + def get_response( + endpoint, + _expected_status=200, + _optional_args="", + **endpoint_kwargs + ): + resp = logged_in_client.get( + url_for(endpoint, **(endpoint_kwargs or {})) + _optional_args, + ) + assert resp.status_code == _expected_status + return resp + return ClientRequest