Merge pull request #2311 from alphagov/show-postage-class

Add letter class row to settings page, visible to platform admin only
This commit is contained in:
Katie Smith
2018-09-20 09:52:24 +01:00
committed by GitHub
9 changed files with 120 additions and 0 deletions

View File

@@ -146,6 +146,7 @@ def service_json(
organisation_type='central',
prefix_sms=True,
contact_link=None,
postage='second',
):
if users is None:
users = []
@@ -174,6 +175,7 @@ def service_json(
'inbound_api': inbound_api,
'service_callback_api': service_callback_api,
'prefix_sms': prefix_sms,
'postage': postage,
}

View File

@@ -89,6 +89,7 @@ def mock_get_service_settings_page_common(
'Label Value Action',
'Send letters Off Change',
'Postage Second class only Change',
'Label Value Action',
'Organisation Org 1 Change',
@@ -1849,6 +1850,38 @@ def test_set_letter_branding_saves(
mock_update_service.assert_called_once_with(service_one['id'], dvla_organisation='500')
def test_set_postage_platform_admin_only(
logged_in_client,
service_one,
):
response = logged_in_client.get(url_for('main.service_set_postage', service_id=SERVICE_ONE_ID))
assert response.status_code == 403
def test_set_postage_prepopulates(
logged_in_platform_admin_client,
service_one,
):
response = logged_in_platform_admin_client.get(url_for('main.service_set_postage', service_id=SERVICE_ONE_ID))
assert response.status_code == 200
page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser')
assert page.select('input[checked]')[0]['value'] == 'second'
def test_set_postage_saves(
logged_in_platform_admin_client,
service_one,
mock_update_service,
):
response = logged_in_platform_admin_client.post(
url_for('main.service_set_postage', service_id=SERVICE_ONE_ID),
data={'postage': 'first'}
)
assert response.status_code == 302
assert response.location == url_for('main.service_settings', service_id=SERVICE_ONE_ID, _external=True)
mock_update_service.assert_called_once_with(SERVICE_ONE_ID, postage='first')
@pytest.mark.parametrize('current_branding, expected_values, expected_labels', [
(None, [
'None', '1', '2', '3', '4', '5',