diff --git a/tests/app/main/views/test_manage_users.py b/tests/app/main/views/test_manage_users.py index 36095e59b..276b3e2be 100644 --- a/tests/app/main/views/test_manage_users.py +++ b/tests/app/main/views/test_manage_users.py @@ -259,11 +259,11 @@ def test_service_without_caseworking_doesnt_show_admin_vs_caseworker( service_id=SERVICE_ONE_ID, **extra_args ) - assert page.select('input[type=checkbox]')[0]['name'] == 'view_activity' - assert page.select('input[type=checkbox]')[1]['name'] == 'send_messages' - assert page.select('input[type=checkbox]')[2]['name'] == 'manage_templates' - assert page.select('input[type=checkbox]')[3]['name'] == 'manage_service' - assert page.select('input[type=checkbox]')[4]['name'] == 'manage_api_keys' + assert page.select('input[type=checkbox]')[0]['value'] == 'view_activity' + assert page.select('input[type=checkbox]')[1]['value'] == 'send_messages' + assert page.select('input[type=checkbox]')[2]['value'] == 'manage_templates' + assert page.select('input[type=checkbox]')[3]['value'] == 'manage_service' + assert page.select('input[type=checkbox]')[4]['value'] == 'manage_api_keys' @pytest.mark.parametrize('service_has_email_auth, displays_auth_type', [ @@ -370,8 +370,8 @@ def test_should_show_page_for_one_user( assert len(checkboxes) == 5 for index, expected in enumerate(expected_checkboxes): - expected_input_name, expected_checked = expected - assert checkboxes[index]['name'] == expected_input_name + expected_input_value, expected_checked = expected + assert checkboxes[index]['value'] == expected_input_value assert checkboxes[index].has_attr('checked') == expected_checked @@ -413,11 +413,13 @@ def test_should_not_show_page_for_non_team_member( @pytest.mark.parametrize('submitted_permissions, permissions_sent_to_api', [ ( { - 'view_activity': 'y', - 'send_messages': 'y', - 'manage_templates': 'y', - 'manage_service': 'y', - 'manage_api_keys': 'y', + 'permissions_field': [ + 'view_activity', + 'send_messages', + 'manage_templates', + 'manage_service', + 'manage_api_keys', + ] }, { 'view_activity', @@ -429,13 +431,16 @@ def test_should_not_show_page_for_non_team_member( ), ( { - 'view_activity': 'y', - 'send_messages': 'y', - 'manage_templates': '', + 'permissions_field': [ + 'view_activity', + 'send_messages', + 'manage_templates', + ] }, { 'view_activity', 'send_messages', + 'manage_templates', } ), ( @@ -616,10 +621,12 @@ def test_edit_user_permissions_including_authentication_with_email_auth_service( user_id=active_user_with_permissions['id'], _data={ 'email_address': active_user_with_permissions['email_address'], - 'send_messages': 'y', - 'manage_templates': 'y', - 'manage_service': 'y', - 'manage_api_keys': 'y', + 'permissions_field': [ + 'send_messages', + 'manage_templates', + 'manage_service', + 'manage_api_keys', + ], 'login_authentication': auth_type, }, _expected_status=302, @@ -678,7 +685,7 @@ def test_should_show_folder_permission_form_if_service_has_folder_permissions_en assert 'Invite a team member' in page.find('h1').text.strip() - folder_checkboxes = page.find('div', class_='checkboxes-nested').find_all('li') + folder_checkboxes = page.find('div', class_='selection-wrapper').find_all('li') assert len(folder_checkboxes) == 3 @@ -707,11 +714,13 @@ def test_invite_user( service_id=SERVICE_ONE_ID, _data={ 'email_address': email_address, - 'view_activity': 'y', - 'send_messages': 'y', - 'manage_templates': 'y', - 'manage_service': 'y', - 'manage_api_keys': 'y', + 'permissions_field': [ + 'view_activity', + 'send_messages', + 'manage_templates', + 'manage_service', + 'manage_api_keys', + ] }, _follow_redirects=True, ) @@ -762,11 +771,13 @@ def test_invite_user_with_email_auth_service( service_id=SERVICE_ONE_ID, _data={ 'email_address': email_address, - 'view_activity': 'y', - 'send_messages': 'y', - 'manage_templates': 'y', - 'manage_service': 'y', - 'manage_api_keys': 'y', + 'permissions_field': [ + 'view_activity', + 'send_messages', + 'manage_templates', + 'manage_service', + 'manage_api_keys', + ], 'login_authentication': auth_type, }, _follow_redirects=True, diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index 00126e9e8..1b7bed097 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -2202,8 +2202,8 @@ def test_incorrect_sms_sender_input( @pytest.mark.parametrize('reply_to_addresses, data, api_default_args', [ ([], {}, True), - (create_multiple_email_reply_to_addresses(), {}, False), - (create_multiple_email_reply_to_addresses(), {"is_default": "y"}, True) + (create_multiple_email_reply_to_addresses(), {"is_default": []}, False), + (create_multiple_email_reply_to_addresses(), {"is_default": ["y"]}, True) ]) def test_add_reply_to_email_address_sends_test_notification( mocker, client_request, reply_to_addresses, data, api_default_args @@ -2323,8 +2323,8 @@ def test_add_reply_to_email_address_fails_if_notification_not_delivered_in_45_se @pytest.mark.parametrize('letter_contact_blocks, data, api_default_args', [ ([], {}, True), # no existing letter contact blocks - (create_multiple_letter_contact_blocks(), {}, False), - (create_multiple_letter_contact_blocks(), {"is_default": "y"}, True) + (create_multiple_letter_contact_blocks(), {"is_default": []}, False), + (create_multiple_letter_contact_blocks(), {"is_default": ["y"]}, True) ]) def test_add_letter_contact( letter_contact_blocks, @@ -2399,8 +2399,8 @@ def test_add_letter_contact_when_coming_from_template( @pytest.mark.parametrize('sms_senders, data, api_default_args', [ ([], {}, True), - (create_multiple_sms_senders(), {}, False), - (create_multiple_sms_senders(), {"is_default": "y"}, True) + (create_multiple_sms_senders(), {"is_default": []}, False), + (create_multiple_sms_senders(), {"is_default": ["y"]}, True) ]) def test_add_sms_sender( sms_senders, @@ -2466,10 +2466,10 @@ def test_default_box_doesnt_show_on_first_letter_sender( @pytest.mark.parametrize('reply_to_address, data, api_default_args', [ - (create_reply_to_email_address(is_default=True), {"is_default": "y"}, True), - (create_reply_to_email_address(is_default=True), {}, True), - (create_reply_to_email_address(is_default=False), {}, False), - (create_reply_to_email_address(is_default=False), {"is_default": "y"}, True) + (create_reply_to_email_address(is_default=True), {"is_default": ["y"]}, True), + (create_reply_to_email_address(is_default=True), {"is_default": []}, True), + (create_reply_to_email_address(is_default=False), {"is_default": []}, False), + (create_reply_to_email_address(is_default=False), {"is_default": ["y"]}, True) ]) def test_edit_reply_to_email_address_sends_verification_notification_if_address_is_changed( reply_to_address, @@ -2494,10 +2494,10 @@ def test_edit_reply_to_email_address_sends_verification_notification_if_address_ @pytest.mark.parametrize('reply_to_address, data, api_default_args', [ - (create_reply_to_email_address(), {"is_default": "y"}, True), - (create_reply_to_email_address(), {}, True), - (create_reply_to_email_address(is_default=False), {}, False), - (create_reply_to_email_address(is_default=False), {"is_default": "y"}, True) + (create_reply_to_email_address(), {"is_default": ["y"]}, True), + (create_reply_to_email_address(), {"is_default": []}, True), + (create_reply_to_email_address(is_default=False), {"is_default": []}, False), + (create_reply_to_email_address(is_default=False), {"is_default": ["y"]}, True) ]) def test_edit_reply_to_email_address_goes_straight_to_update_if_address_not_changed( reply_to_address, @@ -2554,7 +2554,7 @@ def test_add_edit_reply_to_email_address_goes_straight_to_update_if_address_not_ message=error_message )] ) - data = {"is_default": "y", 'email_address': "reply_to@example.com"} + data = {"is_default": ["y"], 'email_address': "reply_to@example.com"} page = client_request.post( url, service_id=SERVICE_ONE_ID, @@ -2654,10 +2654,10 @@ def test_delete_reply_to_email_address( @pytest.mark.parametrize('letter_contact_block, data, api_default_args', [ - (create_letter_contact_block(), {"is_default": "y"}, True), - (create_letter_contact_block(), {}, True), - (create_letter_contact_block(is_default=False), {}, False), - (create_letter_contact_block(is_default=False), {"is_default": "y"}, True) + (create_letter_contact_block(), {"is_default": ["y"]}, True), + (create_letter_contact_block(), {"is_default": []}, True), + (create_letter_contact_block(is_default=False), {"is_default": []}, False), + (create_letter_contact_block(is_default=False), {"is_default": ["y"]}, True) ]) def test_edit_letter_contact_block( letter_contact_block, @@ -2731,10 +2731,10 @@ def test_delete_letter_contact_block( @pytest.mark.parametrize('sms_sender, data, api_default_args', [ - (create_sms_sender(), {"is_default": "y", "sms_sender": "test"}, True), - (create_sms_sender(), {"sms_sender": "test"}, True), - (create_sms_sender(is_default=False), {"sms_sender": "test"}, False), - (create_sms_sender(is_default=False), {"is_default": "y", "sms_sender": "test"}, True) + (create_sms_sender(), {"is_default": ["y"], "sms_sender": "test"}, True), + (create_sms_sender(), {"is_default": [], "sms_sender": "test"}, True), + (create_sms_sender(is_default=False), {"is_default": [], "sms_sender": "test"}, False), + (create_sms_sender(is_default=False), {"is_default": ["y"], "sms_sender": "test"}, True) ]) def test_edit_sms_sender( sms_sender, diff --git a/tests/app/main/views/test_template_folders.py b/tests/app/main/views/test_template_folders.py index 08db7e007..91da73454 100644 --- a/tests/app/main/views/test_template_folders.py +++ b/tests/app/main/views/test_template_folders.py @@ -395,7 +395,7 @@ def test_should_show_templates_folder_page( assert links_in_page[index].text.strip() == expected_link all_page_items = page.select('.template-list-item') - all_page_items_styled_with_checkboxes = page.select('.template-list-item-with-checkbox') + all_page_items_styled_with_checkboxes = page.select('.template-list-item.govuk-checkboxes__item') assert len(all_page_items) == len(all_page_items_styled_with_checkboxes) @@ -527,7 +527,7 @@ def test_get_manage_folder_viewing_permissions_for_users( assert normalize_spaces(page.select_one('title').text) == ( 'folder_two – Templates – service one – GOV.UK Notify' ) - form_labels = page.select('legend[class=form-label]') + form_labels = page.select('legend.govuk-fieldset__legend') assert normalize_spaces(form_labels[0].text) == "Team members who can see this folder" checkboxes = page.select('input[name=users_with_permission]') @@ -538,7 +538,7 @@ def test_get_manage_folder_viewing_permissions_for_users( assert checkboxes[1]['value'] == team_member_2['id'] assert "checked" in checkboxes[1].attrs - assert "Test User" in page.find_all('label', {'for': 'users_with_permission-0'})[0].text + assert "Test User" in page.find_all('label', {'for': 'users_with_permission-1'})[0].text def test_get_manage_folder_viewing_permissions_for_users_not_visible_when_no_manage_settings_permission( diff --git a/tests/app/main/views/test_templates.py b/tests/app/main/views/test_templates.py index 02fd8365d..29fe54b27 100644 --- a/tests/app/main/views/test_templates.py +++ b/tests/app/main/views/test_templates.py @@ -167,7 +167,7 @@ def test_should_show_page_for_choosing_a_template( for index, expected_link in enumerate(expected_nav_links): assert links_in_page[index].text.strip() == expected_link - template_links = page.select('.message-name a') + template_links = page.select('#template-list .govuk-label a, .message-name a') assert len(template_links) == len(expected_templates) @@ -236,7 +236,7 @@ def test_should_show_live_search_if_list_of_templates_taller_than_screen( assert search['data-module'] == 'live-search' assert search['data-targets'] == '#template-list .template-list-item' - assert len(page.select(search['data-targets'])) == len(page.select('.message-name')) == 14 + assert len(page.select(search['data-targets'])) == len(page.select('#template-list .govuk-label')) == 14 def test_should_show_live_search_if_service_has_lots_of_folders( @@ -257,7 +257,7 @@ def test_should_show_live_search_if_service_has_lots_of_folders( service_id=SERVICE_ONE_ID, ) - count_of_templates_and_folders = len(page.select('.message-name')) + count_of_templates_and_folders = len(page.select('#template-list .govuk-label')) count_of_folders = len(page.select('.template-list-folder:first-child')) count_of_templates = count_of_templates_and_folders - count_of_folders diff --git a/tests/javascripts/collapsibleCheckboxes.test.js b/tests/javascripts/collapsibleCheckboxes.test.js index 24eb20239..063283fd1 100644 --- a/tests/javascripts/collapsibleCheckboxes.test.js +++ b/tests/javascripts/collapsibleCheckboxes.test.js @@ -14,49 +14,52 @@ afterAll(() => { describe('Collapsible fieldset', () => { + const _checkboxes = (start, end) => { + result = ''; + + for (let num = start; num <= end; num++) { + let id = `folder-permissions-${num}`; + + result += `