Add form to let users switch basic view on and off

This commit adds radio buttons to the ‘basic view’ page. This will let
users choose whether basic view is on or off for their service.

As before, this page will only be linked to if a service already has
basic view, so this commit does not launch the new feature.
This commit is contained in:
Chris Hill-Scott
2018-07-10 10:01:40 +01:00
parent a6662b3f59
commit 4d3a4ef9af
4 changed files with 76 additions and 4 deletions

View File

@@ -2390,14 +2390,56 @@ def test_invitation_pages(
assert normalize_spaces(page.select('main p')[0].text) == expected_p
@pytest.mark.parametrize('permissions, expected_selected', [
('caseworking', 'on'),
('', 'off'),
])
def test_see_basic_view_page(
client_request,
service_one,
permissions,
expected_selected,
):
service_one['permissions'] = permissions
page = client_request.get(
"main.service_set_basic_view",
service_id=SERVICE_ONE_ID
)
assert page.h1.text.strip() == 'Basic view'
assert page.select_one('input[checked]')['value'] == expected_selected
@pytest.mark.parametrize('value, expected_updated_permissions', [
('on', {'email', 'caseworking', 'sms'}),
('off', {'email', 'sms'}),
])
def test_update_basic_view(
mocker,
client_request,
service_one,
value,
expected_updated_permissions,
):
mocked_update = mocker.patch(
'app.service_api_client.update_service_with_properties',
return_value=service_one,
)
client_request.post(
"main.service_set_basic_view",
service_id=SERVICE_ONE_ID,
_data={
'enabled': value,
},
_expected_status=302,
_expected_redirect=url_for(
'main.service_settings',
service_id=SERVICE_ONE_ID,
_external=True,
),
)
assert set(
mocked_update.call_args[0][1]['permissions']
) == expected_updated_permissions
def test_service_settings_when_inbound_number_is_not_set(