mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-08-24 00:07:02 -04:00
Merge pull request #2137 from alphagov/save-same-service-name
Don’t error if a user keeps same service name
This commit is contained in:
@@ -113,19 +113,26 @@ def service_name_change(service_id):
|
|||||||
form = RenameServiceForm()
|
form = RenameServiceForm()
|
||||||
|
|
||||||
if request.method == 'GET':
|
if request.method == 'GET':
|
||||||
form.name.data = current_service.get('name')
|
form.name.data = current_service['name']
|
||||||
|
|
||||||
if form.validate_on_submit():
|
if form.validate_on_submit():
|
||||||
|
|
||||||
|
if form.name.data == current_service['name']:
|
||||||
|
return redirect(url_for('.service_settings', service_id=service_id))
|
||||||
|
|
||||||
unique_name = service_api_client.is_service_name_unique(service_id, form.name.data, email_safe(form.name.data))
|
unique_name = service_api_client.is_service_name_unique(service_id, form.name.data, email_safe(form.name.data))
|
||||||
|
|
||||||
if not unique_name:
|
if not unique_name:
|
||||||
form.name.errors.append("This service name is already in use")
|
form.name.errors.append("This service name is already in use")
|
||||||
return render_template('views/service-settings/name.html', form=form)
|
return render_template('views/service-settings/name.html', form=form)
|
||||||
|
|
||||||
session['service_name_change'] = form.name.data
|
session['service_name_change'] = form.name.data
|
||||||
return redirect(url_for('.service_name_change_confirm', service_id=service_id))
|
return redirect(url_for('.service_name_change_confirm', service_id=service_id))
|
||||||
|
|
||||||
return render_template(
|
return render_template(
|
||||||
'views/service-settings/name.html',
|
'views/service-settings/name.html',
|
||||||
form=form)
|
form=form,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
@main.route("/services/<service_id>/service-settings/name/confirm", methods=['GET', 'POST'])
|
@main.route("/services/<service_id>/service-settings/name/confirm", methods=['GET', 'POST'])
|
||||||
|
|||||||
@@ -291,6 +291,26 @@ def test_should_redirect_after_change_service_name(
|
|||||||
assert mock_service_name_is_unique.called
|
assert mock_service_name_is_unique.called
|
||||||
|
|
||||||
|
|
||||||
|
def test_should_not_hit_api_if_service_name_hasnt_changed(
|
||||||
|
client_request,
|
||||||
|
mock_update_service,
|
||||||
|
mock_service_name_is_unique,
|
||||||
|
):
|
||||||
|
client_request.post(
|
||||||
|
'main.service_name_change',
|
||||||
|
service_id=SERVICE_ONE_ID,
|
||||||
|
_data={'name': 'service one'},
|
||||||
|
_expected_status=302,
|
||||||
|
_expected_redirect=url_for(
|
||||||
|
'main.service_settings',
|
||||||
|
service_id=SERVICE_ONE_ID,
|
||||||
|
_external=True,
|
||||||
|
),
|
||||||
|
)
|
||||||
|
assert not mock_service_name_is_unique.called
|
||||||
|
assert not mock_update_service.called
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('user, expected_text, expected_link', [
|
@pytest.mark.parametrize('user, expected_text, expected_link', [
|
||||||
(
|
(
|
||||||
active_user_with_permissions,
|
active_user_with_permissions,
|
||||||
|
|||||||
Reference in New Issue
Block a user