diff --git a/app/main/views/service_settings.py b/app/main/views/service_settings.py index 889e901a1..840e4db0a 100644 --- a/app/main/views/service_settings.py +++ b/app/main/views/service_settings.py @@ -272,7 +272,10 @@ def service_set_sms_sender(service_id): if request.method == 'GET': form.sms_sender.data = current_service.get('sms_sender') if form.validate_on_submit(): - message = 'SMS Sender set to {}'.format(form.sms_sender.data) + if form.sms_sender.data: + message = 'Text message sender set to {}'.format(form.sms_sender.data) + else: + message = 'Text message sender removed' service_api_client.update_service( current_service['id'], current_service['name'], diff --git a/tests/app/main/views/test_service_settings.py b/tests/app/main/views/test_service_settings.py index c06931a78..a76ead847 100644 --- a/tests/app/main/views/test_service_settings.py +++ b/tests/app/main/views/test_service_settings.py @@ -735,3 +735,37 @@ def test_if_sms_sender_set_then_form_populated(app_, assert response.status_code == 200 page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') assert page.find(id='sms_sender')['value'] == 'elevenchars' + + +def test_set_text_message_sender_flash_messages( + app_, + active_user_with_permissions, + mocker, + mock_update_service, + service_one): + with app_.test_request_context(): + with app_.test_client() as client: + client.login(active_user_with_permissions, mocker, service_one) + data = {"sms_sender": "elevenchars"} + response = client.post(url_for('main.service_set_sms_sender', service_id=service_one['id']), + data=data, + follow_redirects=True) + + assert response.status_code == 200 + + page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') + element = page.find('div', {"class": "banner-default-with-tick"}) + + assert element.text.strip() == 'Text message sender set to elevenchars' + + data = {"sms_sender": ""} + response = client.post(url_for('main.service_set_sms_sender', service_id=service_one['id']), + data=data, + follow_redirects=True) + + assert response.status_code == 200 + + page = BeautifulSoup(response.data.decode('utf-8'), 'html.parser') + element = page.find('div', {"class": "banner-default-with-tick"}) + + assert element.text.strip() == 'Text message sender removed'