Files
notifications-admin/tests/app/utils/test_user_permissions.py

46 lines
1.3 KiB
Python
Raw Normal View History

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'
}