Files
notifications-admin/tests/app/utils/test_user_permissions.py
Ben Thorner dcfff87cc0 Continue to remove "roles" terminology
This renames the two functions we have to translate between UI and
DB permissions, as well as some of their associated variables to
make it clearer which kind of permission they contain.
2021-07-28 12:37:17 +01:00

46 lines
1.3 KiB
Python

import pytest
from app.utils.user_permissions import (
translate_permissions_from_db_to_ui,
translate_permissions_from_ui_to_db,
)
@pytest.mark.parametrize('db_permissions,expected_ui_permissions', [
(
['approve_broadcasts', 'reject_broadcasts', 'cancel_broadcasts'],
{'approve_broadcasts'},
),
(
['manage_templates', 'create_broadcasts', 'reject_broadcasts', 'cancel_broadcasts'],
{'create_broadcasts', 'manage_templates'},
),
(
['manage_templates'],
{'manage_templates'},
),
(
['create_broadcasts'],
set(),
),
(
['send_texts', 'send_emails', 'send_letters', 'manage_templates', 'some_unknown_permission'],
{'send_messages', 'manage_templates', 'some_unknown_permission'},
),
])
def test_translate_permissions_from_db_to_ui(
db_permissions,
expected_ui_permissions,
):
ui_permissions = translate_permissions_from_db_to_ui(db_permissions)
assert ui_permissions == expected_ui_permissions
def test_translate_permissions_from_ui_to_db():
ui_permissions = ['send_messages', 'manage_templates', 'some_unknown_permission']
db_permissions = translate_permissions_from_ui_to_db(ui_permissions)
assert db_permissions == {
'send_texts', 'send_emails', 'send_letters', 'manage_templates', 'some_unknown_permission'
}