mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-07-30 01:48:33 -04:00
Use new API endpoint for scheduled job stats
Depends on: - [ ] https://github.com/alphagov/notifications-api/pull/2984
This commit is contained in:
@@ -143,7 +143,7 @@ def test_accepting_invite_removes_invite_from_session(
|
||||
mock_accept_invite,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_folders,
|
||||
mock_get_usage,
|
||||
@@ -503,7 +503,7 @@ def test_new_invited_user_verifies_and_added_to_service(
|
||||
mock_get_service,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_has_permissions,
|
||||
mock_get_users_by_service,
|
||||
mock_get_service_statistics,
|
||||
|
||||
@@ -139,7 +139,7 @@ def test_get_started(
|
||||
client_request,
|
||||
mocker,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
@@ -164,7 +164,7 @@ def test_get_started_is_hidden_once_templates_exist(
|
||||
client_request,
|
||||
mocker,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
@@ -189,7 +189,7 @@ def test_inbound_messages_not_visible_to_service_without_permissions(
|
||||
mocker,
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
@@ -215,6 +215,7 @@ def test_inbound_messages_shows_count_of_messages_when_there_are_messages(
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_scheduled_job_stats,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
@@ -242,6 +243,7 @@ def test_inbound_messages_shows_count_of_messages_when_there_are_no_messages(
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_scheduled_job_stats,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
@@ -484,7 +486,7 @@ def test_returned_letters_not_visible_if_service_has_no_returned_letters(
|
||||
mocker,
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
@@ -520,6 +522,7 @@ def test_returned_letters_shows_count_of_recently_returned_letters(
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_scheduled_job_stats,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
@@ -579,6 +582,7 @@ def test_returned_letters_only_counts_recently_returned_letters(
|
||||
service_one,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_get_scheduled_job_stats,
|
||||
mock_get_service_statistics,
|
||||
mock_get_template_statistics,
|
||||
mock_get_usage,
|
||||
@@ -610,7 +614,7 @@ def test_should_show_recent_templates_on_dashboard(
|
||||
client_request,
|
||||
mocker,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
@@ -664,7 +668,7 @@ def test_should_not_show_recent_templates_on_dashboard_if_only_one_template_used
|
||||
client_request,
|
||||
mocker,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
@@ -821,6 +825,7 @@ def test_should_show_upcoming_jobs_on_dashboard(
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_jobs,
|
||||
mock_get_scheduled_job_stats,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
@@ -830,9 +835,8 @@ def test_should_show_upcoming_jobs_on_dashboard(
|
||||
'main.service_dashboard',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
second_call = mock_get_jobs.call_args_list[1]
|
||||
assert second_call[0] == (SERVICE_ONE_ID,)
|
||||
assert second_call[1]['statuses'] == ['scheduled']
|
||||
mock_get_jobs.assert_called_once_with(SERVICE_ONE_ID)
|
||||
mock_get_scheduled_job_stats.assert_called_once_with(SERVICE_ONE_ID)
|
||||
|
||||
assert normalize_spaces(
|
||||
page.select_one('main h2').text
|
||||
@@ -852,6 +856,52 @@ def test_should_show_upcoming_jobs_on_dashboard(
|
||||
)
|
||||
|
||||
|
||||
def test_should_not_show_upcoming_jobs_on_dashboard_if_count_is_0(
|
||||
mocker,
|
||||
client_request,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_has_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
):
|
||||
mocker.patch('app.job_api_client.get_scheduled_job_stats', return_value={
|
||||
'count': 0,
|
||||
'soonest_scheduled_for': None,
|
||||
})
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
mock_has_jobs.assert_called_once_with(SERVICE_ONE_ID)
|
||||
assert 'In the next few days' not in page.select_one('main').text
|
||||
assert 'files waiting to send ' not in page.select_one('main').text
|
||||
|
||||
|
||||
def test_should_not_show_upcoming_jobs_on_dashboard_if_service_has_no_jobs(
|
||||
mocker,
|
||||
client_request,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
):
|
||||
page = client_request.get(
|
||||
'main.service_dashboard',
|
||||
service_id=SERVICE_ONE_ID,
|
||||
)
|
||||
mock_has_no_jobs.assert_called_once_with(SERVICE_ONE_ID)
|
||||
assert 'In the next few days' not in page.select_one('main').text
|
||||
assert 'files waiting to send ' not in page.select_one('main').text
|
||||
|
||||
|
||||
@pytest.mark.parametrize('permissions', (
|
||||
['email', 'sms'],
|
||||
['email', 'sms', 'letter'],
|
||||
@@ -878,7 +928,7 @@ def test_correct_font_size_for_big_numbers(
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
@@ -915,6 +965,7 @@ def test_should_not_show_jobs_on_dashboard_for_users_with_uploads_page(
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_jobs,
|
||||
mock_get_scheduled_job_stats,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
@@ -1145,7 +1196,7 @@ def test_menu_send_messages(
|
||||
api_user_active,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
@@ -1181,7 +1232,7 @@ def test_menu_send_messages_when_service_does_not_have_upload_letters_permission
|
||||
api_user_active,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
@@ -1207,7 +1258,7 @@ def test_menu_manage_service(
|
||||
api_user_active,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
@@ -1239,7 +1290,7 @@ def test_menu_manage_api_keys(
|
||||
api_user_active,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
@@ -1269,7 +1320,7 @@ def test_menu_all_services_for_platform_admin_user(
|
||||
platform_admin_user,
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
@@ -1301,7 +1352,7 @@ def test_route_for_service_permissions(
|
||||
mock_get_service,
|
||||
mock_get_user,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_usage,
|
||||
@@ -1357,7 +1408,7 @@ def test_service_dashboard_updates_gets_dashboard_totals(
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_inbound_sms_summary,
|
||||
@@ -1541,7 +1592,7 @@ def test_org_breadcrumbs_do_not_show_if_service_has_no_org(
|
||||
client_request,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
@@ -1555,7 +1606,7 @@ def test_org_breadcrumbs_do_not_show_if_user_is_not_an_org_member(
|
||||
mocker,
|
||||
client,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
active_caseworking_user,
|
||||
client_request,
|
||||
mock_get_template_folders,
|
||||
@@ -1579,7 +1630,7 @@ def test_org_breadcrumbs_show_if_user_is_a_member_of_the_services_org(
|
||||
mocker,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
@@ -1609,7 +1660,7 @@ def test_org_breadcrumbs_do_not_show_if_user_is_a_member_of_the_services_org_but
|
||||
mocker,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
@@ -1634,7 +1685,7 @@ def test_org_breadcrumbs_show_if_user_is_platform_admin(
|
||||
mocker,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_templates_when_no_templates_exist,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
@@ -1668,7 +1719,7 @@ def test_should_show_usage_on_dashboard(
|
||||
service_one,
|
||||
mock_get_service_templates,
|
||||
mock_get_template_statistics,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_get_usage,
|
||||
mock_get_free_sms_fragment_limit,
|
||||
mock_get_returned_letter_statistics_with_no_returned_letters,
|
||||
|
||||
@@ -24,7 +24,7 @@ def test_sign_out_user(
|
||||
mock_get_user_by_email,
|
||||
mock_login,
|
||||
mock_get_service_templates,
|
||||
mock_get_jobs,
|
||||
mock_has_no_jobs,
|
||||
mock_has_permissions,
|
||||
mock_get_template_statistics,
|
||||
mock_get_service_statistics,
|
||||
|
||||
@@ -1771,12 +1771,12 @@ def mock_get_letter_job_in_progress(mocker, api_user_active):
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_has_jobs(mocker):
|
||||
mocker.patch('app.job_api_client.has_jobs', return_value=True)
|
||||
return mocker.patch('app.job_api_client.has_jobs', return_value=True)
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_has_no_jobs(mocker):
|
||||
mocker.patch('app.job_api_client.has_jobs', return_value=False)
|
||||
return mocker.patch('app.job_api_client.has_jobs', return_value=False)
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
@@ -1815,6 +1815,15 @@ def mock_get_jobs(mocker, api_user_active):
|
||||
return mocker.patch('app.job_api_client.get_jobs', side_effect=_get_jobs)
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_get_scheduled_job_stats(mocker, api_user_active):
|
||||
return mocker.patch('app.job_api_client.get_scheduled_job_stats', return_value={
|
||||
# These values match the return value of `mock_get_jobs`
|
||||
'count': 2,
|
||||
'soonest_scheduled_for': '2016-01-01 11:09:00'
|
||||
})
|
||||
|
||||
|
||||
@pytest.fixture(scope='function')
|
||||
def mock_get_uploads(mocker, api_user_active):
|
||||
def _get_uploads(service_id, limit_days=None, statuses=None, page=1):
|
||||
|
||||
Reference in New Issue
Block a user