Merge pull request #1922 from alphagov/update-free-allowance-for-org-type

Update the free allowance when the organisation type is changed
This commit is contained in:
Rebecca Law
2018-03-02 15:37:13 +00:00
committed by GitHub
2 changed files with 14 additions and 5 deletions

View File

@@ -1,5 +1,6 @@
from flask import (
abort,
current_app,
flash,
redirect,
render_template,
@@ -695,10 +696,15 @@ def set_organisation_type(service_id):
form = OrganisationTypeForm(organisation_type=current_service.get('organisation_type'))
if form.validate_on_submit():
free_sms_fragment_limit = current_app.config['DEFAULT_FREE_SMS_FRAGMENT_LIMITS'].get(
form.organisation_type.data)
service_api_client.update_service(
service_id,
organisation_type=form.organisation_type.data,
)
billing_api_client.create_or_update_free_sms_fragment_limit(service_id, free_sms_fragment_limit)
return redirect(url_for('.service_settings', service_id=service_id))
return render_template(

View File

@@ -1550,16 +1550,18 @@ def test_should_show_page_to_set_organisation_type(
assert normalize_spaces(labels[index].text) == expected
@pytest.mark.parametrize('organisation_type', [
'central',
'local',
'nhs',
pytest.mark.xfail('private sector'),
@pytest.mark.parametrize('organisation_type, free_allowance', [
('central', 250000),
('local', 25000),
('nhs', 25000),
pytest.mark.xfail(('private sector', 1000))
])
def test_should_set_organisation_type(
logged_in_platform_admin_client,
mock_update_service,
organisation_type,
free_allowance,
mock_create_or_update_free_sms_fragment_limit
):
response = logged_in_platform_admin_client.post(
url_for(
@@ -1578,6 +1580,7 @@ def test_should_set_organisation_type(
SERVICE_ONE_ID,
organisation_type=organisation_type,
)
mock_create_or_update_free_sms_fragment_limit.assert_called_once_with(SERVICE_ONE_ID, free_allowance)
def test_should_show_page_to_set_sms_allowance(