update test to reflect enum in servicepermission

This commit is contained in:
Beverly Nguyen
2025-07-17 01:00:00 -07:00
parent bb2588e960
commit a0d67d2a9c
14 changed files with 109 additions and 77 deletions

View File

@@ -7,6 +7,7 @@ import pytest
from flask import url_for
from freezegun import freeze_time
from app.enums import ServicePermission
from app.main.views.dashboard import (
aggregate_status_types,
aggregate_template_usage,
@@ -956,7 +957,7 @@ def test_menu_manage_service(
mocker,
api_user_active,
service_one,
["view_activity", "manage_templates", "manage_users", "manage_settings"],
["view_activity", ServicePermission.MANAGE_TEMPLATES, "manage_users", "manage_settings"],
)
page = str(page)
assert (

View File

@@ -5,6 +5,7 @@ import pytest
from flask import url_for
import app
from app.enums import ServicePermission
from app.utils.user import is_gov_user
from tests.conftest import (
ORGANISATION_ID,
@@ -304,9 +305,9 @@ def test_service_without_caseworking_doesnt_show_admin_vs_caseworker(
for idx in range(len(permission_checkboxes)):
assert permission_checkboxes[idx]["name"] == "permissions_field"
assert permission_checkboxes[0]["value"] == "view_activity"
assert permission_checkboxes[1]["value"] == "send_messages"
assert permission_checkboxes[2]["value"] == "manage_templates"
assert permission_checkboxes[3]["value"] == "manage_service"
assert permission_checkboxes[1]["value"] == ServicePermission.SEND_MESSAGES
assert permission_checkboxes[2]["value"] == ServicePermission.MANAGE_TEMPLATES
assert permission_checkboxes[3]["value"] == ServicePermission.MANAGE_SERVICE
@pytest.mark.parametrize(
@@ -387,9 +388,9 @@ def test_user_with_no_mobile_number_cant_be_set_to_sms_auth(
{"user_id": sample_uuid()},
[
("view_activity", True),
("send_messages", True),
("manage_templates", True),
("manage_service", True),
(ServicePermission.SEND_MESSAGES, True),
(ServicePermission.MANAGE_TEMPLATES, True),
(ServicePermission.MANAGE_SERVICE, True),
],
),
(
@@ -397,9 +398,9 @@ def test_user_with_no_mobile_number_cant_be_set_to_sms_auth(
{},
[
("view_activity", False),
("send_messages", False),
("manage_templates", False),
("manage_service", False),
(ServicePermission.SEND_MESSAGES, False),
(ServicePermission.MANAGE_TEMPLATES, False),
(ServicePermission.MANAGE_SERVICE, False),
],
),
],
@@ -483,30 +484,30 @@ def test_should_not_show_page_for_non_team_member(
{
"permissions_field": [
"view_activity",
"send_messages",
"manage_templates",
"manage_service",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.MANAGE_SERVICE,
]
},
{
"view_activity",
"send_messages",
"manage_service",
"manage_templates",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_SERVICE,
ServicePermission.MANAGE_TEMPLATES,
},
),
(
{
"permissions_field": [
"view_activity",
"send_messages",
"manage_templates",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
]
},
{
"view_activity",
"send_messages",
"manage_templates",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
},
),
(
@@ -664,9 +665,9 @@ def test_cant_edit_user_folder_permissions_for_platform_admin_users(
platform_admin_user["id"],
SERVICE_ONE_ID,
permissions={
"manage_service",
"manage_templates",
"send_messages",
ServicePermission.MANAGE_SERVICE,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.SEND_MESSAGES,
"view_activity",
},
folder_permissions=None,
@@ -685,7 +686,7 @@ def test_cant_edit_non_member_user_permissions(
user_id=USER_ONE_ID,
_data={
"email_address": "test@example.com",
"manage_service": "y",
ServicePermission.MANAGE_SERVICE: "y",
},
_expected_status=404,
)
@@ -712,9 +713,9 @@ def test_edit_user_permissions_including_authentication_with_email_auth_service(
_data={
"email_address": active_user_with_permissions["email_address"],
"permissions_field": [
"send_messages",
"manage_templates",
"manage_service",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.MANAGE_SERVICE,
],
"login_authentication": "sms_auth",
},
@@ -729,9 +730,9 @@ def test_edit_user_permissions_including_authentication_with_email_auth_service(
str(active_user_with_permissions["id"]),
SERVICE_ONE_ID,
permissions={
"send_messages",
"manage_templates",
"manage_service",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.MANAGE_SERVICE,
},
folder_permissions=[],
)
@@ -1016,9 +1017,9 @@ def test_invite_user(
"email_address": email_address,
"permissions_field": [
"view_activity",
"send_messages",
"manage_templates",
"manage_service",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.MANAGE_SERVICE,
],
},
_follow_redirects=True,
@@ -1028,9 +1029,9 @@ def test_invite_user(
assert flash_banner == f"Invite sent to {email_address}"
expected_permissions = {
"manage_service",
"manage_templates",
"send_messages",
ServicePermission.MANAGE_SERVICE,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.SEND_MESSAGES,
"view_activity",
}
@@ -1072,7 +1073,7 @@ def test_invite_user_when_email_address_is_prefilled(
_data={
# No posted email address
"permissions_field": [
"send_messages",
ServicePermission.SEND_MESSAGES,
],
},
)
@@ -1125,9 +1126,9 @@ def test_invite_user_with_email_auth_service(
"email_address": email_address,
"permissions_field": [
"view_activity",
"send_messages",
"manage_templates",
"manage_service",
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.MANAGE_SERVICE,
],
"login_authentication": auth_type,
},
@@ -1140,9 +1141,9 @@ def test_invite_user_with_email_auth_service(
assert flash_banner == "Invite sent to test@example.gsa.gov"
expected_permissions = {
"manage_service",
"manage_templates",
"send_messages",
ServicePermission.MANAGE_SERVICE,
ServicePermission.MANAGE_TEMPLATES,
ServicePermission.SEND_MESSAGES,
"view_activity",
}
@@ -1320,7 +1321,10 @@ def test_user_cant_invite_themselves(
service_id=SERVICE_ONE_ID,
_data={
"email_address": active_user_with_permissions["email_address"],
"permissions_field": ["send_messages", "manage_service"],
"permissions_field": [
ServicePermission.SEND_MESSAGES,
ServicePermission.MANAGE_SERVICE,
],
},
_follow_redirects=True,
_expected_status=200,

View File

@@ -5,6 +5,7 @@ from unittest.mock import ANY
import pytest
from flask import url_for
from app.enums import ServicePermission
from app.main.views.register import check_invited_user_email_address_matches_expected
from app.models.user import User
@@ -295,7 +296,12 @@ def test_register_from_email_auth_invite(
mock_add_user_to_service.assert_called_once_with(
sample_invite["service"],
fake_uuid, # This ID matches the return value of mock_register_user
{"manage_api_keys", "manage_service", "send_messages", "view_activity"},
{
"manage_api_keys",
ServicePermission.MANAGE_SERVICE,
ServicePermission.SEND_MESSAGES,
"view_activity",
},
[],
)

View File

@@ -15,6 +15,7 @@ from flask import url_for
from xlrd.biffh import XLRDError
from xlrd.xldate import XLDateAmbiguous, XLDateError, XLDateNegative, XLDateTooLarge
from app.enums import ServicePermission
from notifications_python_client.errors import HTTPError
from notifications_utils.recipients import RecipientCSV
from notifications_utils.template import SMSPreviewTemplate
@@ -1706,17 +1707,17 @@ def test_send_one_off_email_to_self_without_placeholders_redirects_to_check_page
("permissions", "expected_back_link_endpoint", "extra_args"),
[
(
{"send_messages", "manage_templates"},
{ServicePermission.SEND_MESSAGES, ServicePermission.MANAGE_TEMPLATES},
"main.view_template",
{"template_id": unchanging_fake_uuid},
),
(
{"send_messages"},
{ServicePermission.SEND_MESSAGES},
"main.choose_template",
{},
),
(
{"send_messages", "view_activity"},
{ServicePermission.SEND_MESSAGES, "view_activity"},
"main.choose_template",
{},
),
@@ -2139,7 +2140,7 @@ def test_route_permissions(
"GET",
response_code,
url_for(route, service_id=service_one["id"], template_id=fake_uuid),
["view_activity", "send_messages"],
["view_activity", ServicePermission.SEND_MESSAGES],
api_user_active,
service_one,
)
@@ -2180,7 +2181,7 @@ def test_route_permissions_send_check_notifications(
method,
response_code,
url_for(route, service_id=service_one["id"], template_id=fake_uuid),
["send_messages"],
[ServicePermission.SEND_MESSAGES],
api_user_active,
service_one,
)

View File

@@ -6,6 +6,7 @@ from bs4 import BeautifulSoup
from flask import url_for
from freezegun import freeze_time
from app.enums import ServicePermission
from notifications_python_client.errors import HTTPError
from tests import template_json, validate_route_permission
from tests.app.main.views.test_template_folders import (
@@ -547,14 +548,14 @@ def test_user_with_only_send_and_view_redirected_to_set_sender_for_one_off(
None,
),
(
["manage_templates"],
[ServicePermission.MANAGE_TEMPLATES],
[
(".edit_service_template", "Edit this template"),
],
None,
),
(
["send_messages", "manage_templates"],
[ServicePermission.SEND_MESSAGES, ServicePermission.MANAGE_TEMPLATES],
[
(".set_sender", "Use this template"),
(".edit_service_template", "Edit this template"),
@@ -1636,7 +1637,7 @@ def test_route_permissions(
template_type="sms",
template_id=fake_uuid,
),
["manage_templates"],
[ServicePermission.MANAGE_TEMPLATES],
api_user_active,
service_one,
)