diff --git a/app/templates/views/jobs/jobs.html b/app/templates/views/jobs/jobs.html index 347ac2a6d..3516c2daf 100644 --- a/app/templates/views/jobs/jobs.html +++ b/app/templates/views/jobs/jobs.html @@ -31,7 +31,10 @@

{% endif %} {{ previous_next_navigation(prev_page, next_page) }} - {% if current_service.can_upload_letters and current_user.has_permissions('send_messages') %} + {% if ( + current_service.can_upload_letters and + current_user.has_permissions('send_messages') + ) or current_user.platform_admin %}
{{ govukButton({ "element": "a", @@ -39,6 +42,14 @@ "href": url_for('.upload_letter', service_id=current_service.id), "classes": "govuk-button--secondary" }) }} + {% if current_user.platform_admin %} + {{ govukButton({ + "element": "a", + "text": "Upload a contact list", + "href": url_for('.upload_contact_list', service_id=current_service.id), + "classes": "govuk-button--secondary govuk-!-margin-left-3" + }) }} + {% endif %}
{% endif %} diff --git a/tests/app/main/views/test_uploads.py b/tests/app/main/views/test_uploads.py index ecc739d02..6ee68999e 100644 --- a/tests/app/main/views/test_uploads.py +++ b/tests/app/main/views/test_uploads.py @@ -15,6 +15,7 @@ from tests.conftest import ( SERVICE_ONE_ID, create_active_caseworking_user, create_active_user_with_permissions, + create_platform_admin_user, ) @@ -39,6 +40,30 @@ def test_no_upload_letters_button_without_permission( assert not page.find('a', text=re.compile('Upload a letter')) +@pytest.mark.parametrize('user', ( + pytest.param( + create_platform_admin_user(), + ), + pytest.param( + create_active_user_with_permissions(), + marks=pytest.mark.xfail(raises=AssertionError), + ), +)) +def test_platform_admin_has_upload_contact_list( + client_request, + mock_get_uploads, + mock_get_jobs, + user, +): + client_request.login(user) + page = client_request.get('main.uploads', service_id=SERVICE_ONE_ID) + button = page.find('a', text=re.compile('Upload a contact list')) + assert button + assert button['href'] == url_for( + 'main.upload_contact_list', service_id=SERVICE_ONE_ID, + ) + + @pytest.mark.parametrize('extra_permissions, expected_empty_message', ( (['letter'], ( 'You have not uploaded any files recently. '