2021-07-22 14:07:41 +01:00
|
|
|
import pytest
|
|
|
|
|
|
2025-07-17 01:00:00 -07:00
|
|
|
from app.enums import ServicePermission
|
2021-07-22 14:07:41 +01:00
|
|
|
from app.utils.user_permissions import (
|
2021-07-22 14:38:45 +01:00
|
|
|
translate_permissions_from_db_to_ui,
|
|
|
|
|
translate_permissions_from_ui_to_db,
|
2021-07-22 14:07:41 +01:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
2023-08-25 09:12:23 -07:00
|
|
|
@pytest.mark.parametrize(
|
2023-09-06 18:29:04 -04:00
|
|
|
("db_permissions", "expected_ui_permissions"),
|
2023-08-25 09:12:23 -07:00
|
|
|
[
|
|
|
|
|
(
|
2025-07-22 13:02:12 -07:00
|
|
|
[ServicePermission.MANAGE_TEMPLATES],
|
2025-07-17 01:00:00 -07:00
|
|
|
{ServicePermission.MANAGE_TEMPLATES},
|
2023-08-25 09:12:23 -07:00
|
|
|
),
|
|
|
|
|
(
|
|
|
|
|
[
|
2025-07-21 16:37:55 -07:00
|
|
|
ServicePermission.SEND_TEXTS,
|
2025-07-21 14:24:11 -07:00
|
|
|
ServicePermission.SEND_EMAILS,
|
2025-07-22 13:02:12 -07:00
|
|
|
ServicePermission.MANAGE_TEMPLATES,
|
2023-08-25 09:12:23 -07:00
|
|
|
"some_unknown_permission",
|
|
|
|
|
],
|
2025-07-17 01:00:00 -07:00
|
|
|
{
|
|
|
|
|
ServicePermission.SEND_MESSAGES,
|
|
|
|
|
ServicePermission.MANAGE_TEMPLATES,
|
|
|
|
|
"some_unknown_permission",
|
|
|
|
|
},
|
2023-08-25 09:12:23 -07:00
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
)
|
2021-07-22 14:38:45 +01:00
|
|
|
def test_translate_permissions_from_db_to_ui(
|
|
|
|
|
db_permissions,
|
|
|
|
|
expected_ui_permissions,
|
2021-07-22 14:07:41 +01:00
|
|
|
):
|
2021-07-22 14:38:45 +01:00
|
|
|
ui_permissions = translate_permissions_from_db_to_ui(db_permissions)
|
|
|
|
|
assert ui_permissions == expected_ui_permissions
|
2021-07-22 14:07:41 +01:00
|
|
|
|
|
|
|
|
|
2021-07-22 14:38:45 +01:00
|
|
|
def test_translate_permissions_from_ui_to_db():
|
2025-07-17 01:00:00 -07:00
|
|
|
ui_permissions = [
|
|
|
|
|
ServicePermission.SEND_MESSAGES,
|
|
|
|
|
ServicePermission.MANAGE_TEMPLATES,
|
|
|
|
|
"some_unknown_permission",
|
|
|
|
|
]
|
2021-07-22 14:38:45 +01:00
|
|
|
db_permissions = translate_permissions_from_ui_to_db(ui_permissions)
|
|
|
|
|
|
|
|
|
|
assert db_permissions == {
|
2025-07-21 16:37:55 -07:00
|
|
|
ServicePermission.SEND_TEXTS,
|
2025-07-21 14:24:11 -07:00
|
|
|
ServicePermission.SEND_EMAILS,
|
2023-08-25 09:12:23 -07:00
|
|
|
"manage_templates",
|
|
|
|
|
"some_unknown_permission",
|
2021-07-22 14:38:45 +01:00
|
|
|
}
|