diff --git a/tests/app/notify_client/test_job_client.py b/tests/app/notify_client/test_job_client.py index 154732d55..43c911205 100644 --- a/tests/app/notify_client/test_job_client.py +++ b/tests/app/notify_client/test_job_client.py @@ -74,6 +74,45 @@ def test_client_gets_job_by_service_filtered_by_status(mocker): mock_get.assert_called_once_with(url=expected_url, params={'limit_days': 1}) +def test_client_parses_handles_aggregate_table_job_stats(mocker): + mocker.patch('app.notify_client.current_user', id='1') + + service_id = 'service_id' + job_id = 'job_id' + expected_data = {'data': { + 'status': 'finished', + 'template_version': 3, + 'id': job_id, + 'updated_at': '2016-08-24T08:29:28.332972+00:00', + 'service': service_id, + 'processing_finished': '2016-08-24T08:11:48.676365+00:00', + 'original_file_name': 'test-notify-email.csv', + 'created_by': { + 'name': 'test-user@digital.cabinet-office.gov.uk', + 'id': '3571f2ae-7a39-4fb4-9ad7-8453f5257072' + }, + 'created_at': '2016-08-24T08:09:56.371073+00:00', + 'template': 'c0309261-9c9e-4530-8fed-5f67b02260d2', + 'notification_count': 30, + 'notifications_sent': 10, + 'notifications_failed': 10, + 'notifications_delivered': 10, + 'processing_started': '2016-08-24T08:09:57.661246+00:00' + }} + + expected_url = '/service/{}/job/{}'.format(service_id, job_id) + + client = JobApiClient() + mock_get = mocker.patch('app.notify_client.job_api_client.JobApiClient.get', return_value=expected_data) + + result = client.get_job(service_id, job_id) + + mock_get.assert_called_once_with(url=expected_url, params={}) + assert result['data']['notifications_sent'] == 10 + assert result['data']['notification_count'] == 30 + assert result['data']['notifications_failed'] == 10 + + def test_client_parses_job_stats(mocker): mocker.patch('app.notify_client.current_user', id='1')