diff --git a/app/templates/admin_template.html b/app/templates/admin_template.html
index 03e229236..c48f768ce 100644
--- a/app/templates/admin_template.html
+++ b/app/templates/admin_template.html
@@ -72,7 +72,7 @@
{% if current_service %}
{% set secondaryNavigation = [
{
- "href": url_for('.service_settings', service_id=current_service.id),
+ "href": url_for('main.service_settings', service_id=current_service.id),
"text": "Settings",
"active": secondary_navigation.is_selected('settings')
},
diff --git a/tests/app/main/views/test_dashboard.py b/tests/app/main/views/test_dashboard.py
index 95b67d3ad..1acd1f2de 100644
--- a/tests/app/main/views/test_dashboard.py
+++ b/tests/app/main/views/test_dashboard.py
@@ -1020,6 +1020,20 @@ def _test_dashboard_menu(client_request, mocker, usr, service, permissions):
return client_request.get("main.service_dashboard", service_id=service["id"])
+def _test_settings_menu(client_request, mocker, usr, service, permissions):
+ usr["permissions"][str(service["id"])] = permissions
+ usr["services"] = [service["id"]]
+ mocker.patch("app.user_api_client.check_verify_code", return_value=(True, ""))
+ mocker.patch(
+ "app.service_api_client.get_services", return_value={"data": [service]}
+ )
+ mocker.patch("app.user_api_client.get_user", return_value=usr)
+ mocker.patch("app.user_api_client.get_user_by_email", return_value=usr)
+ mocker.patch("app.service_api_client.get_service", return_value={"data": service})
+ client_request.login(usr)
+ return client_request.get("main.service_dashboard", service_id=service["id"])
+
+
def test_menu_send_messages(
client_request,
mocker,
@@ -1051,11 +1065,8 @@ def test_menu_send_messages(
)
in page
)
- # assert url_for('main.uploads', service_id=service_one['id']) in page
assert url_for("main.manage_users", service_id=service_one["id"]) not in page
-
assert url_for("main.service_settings", service_id=service_one["id"]) in page
- # assert url_for('main.api_keys', service_id=service_one['id']) not in page
def test_menu_manage_service(
@@ -1086,10 +1097,39 @@ def test_menu_manage_service(
)
in page
)
- # assert url_for("main.manage_users", service_id=service_one["id"]) in page
- assert url_for("main.service_settings", service_id=service_one["id"]) in page
+ assert url_for(".service_dashboard", service_id=service_one["id"]) in page
+ assert url_for(".choose_template", service_id=service_one["id"]) in page
- # assert url_for('main.api_keys', service_id=service_one['id']) not in page
+
+def test_menu_main_settings(
+ client_request,
+ mocker,
+ api_user_active,
+ service_one,
+ mock_get_service_templates,
+ mock_has_no_jobs,
+ mock_get_template_statistics,
+ mock_get_service_statistics,
+ mock_get_annual_usage_for_service,
+ mock_get_inbound_sms_summary,
+ mock_get_free_sms_fragment_limit,
+):
+ page = _test_settings_menu(
+ client_request,
+ mocker,
+ api_user_active,
+ service_one,
+ ["view_activity", "user_profile", "manage_users", "manage_settings"],
+ )
+ page = str(page)
+ assert (
+ url_for(
+ "main.service_settings",
+ service_id=service_one["id"],
+ )
+ in page
+ )
+ assert url_for("main.service_settings", service_id=service_one["id"]) in page
def test_menu_manage_api_keys(