mirror of
https://github.com/GSA/notifications-admin.git
synced 2026-02-05 19:03:30 -05:00
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.
46 lines
1.3 KiB
Python
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'
|
|
}
|