Files
notifications-api/tests/app/dao/test_permissions_dao.py
T

49 lines
1.8 KiB
Python
Raw Normal View History

2023-08-14 15:32:22 -07:00
from app.dao import DAOClass
2017-02-02 11:34:00 +00:00
from app.dao.permissions_dao import permission_dao
2024-02-21 13:47:04 -05:00
from app.enums import PermissionType
from tests.app.db import create_service
2017-02-02 11:34:00 +00:00
def test_get_permissions_by_user_id_returns_all_permissions(sample_service):
2023-08-29 14:54:30 -07:00
permissions = permission_dao.get_permissions_by_user_id(
user_id=sample_service.users[0].id
)
2023-03-02 20:20:31 -05:00
assert len(permissions) == 7
2023-08-29 14:54:30 -07:00
assert sorted(
[
2024-02-21 13:47:04 -05:00
PermissionType.MANAGE_USERS,
PermissionType.MANAGE_TEMPLATES,
PermissionType.MANAGE_SETTINGS,
PermissionType.SEND_TEXTS,
PermissionType.SEND_EMAILS,
PermissionType.MANAGE_API_KEYS,
PermissionType.VIEW_ACTIVITY,
2023-08-29 14:54:30 -07:00
]
) == sorted([i.permission for i in permissions])
2017-02-02 11:34:00 +00:00
def test_get_permissions_by_user_id_returns_only_active_service(sample_user):
active_service = create_service(user=sample_user, service_name="Active service")
2023-08-29 14:54:30 -07:00
inactive_service = create_service(
user=sample_user, service_name="Inactive service", active=False
)
2017-02-02 11:34:00 +00:00
permissions = permission_dao.get_permissions_by_user_id(user_id=sample_user.id)
2023-03-02 20:20:31 -05:00
assert len(permissions) == 7
2017-02-02 11:34:00 +00:00
assert active_service in [i.service for i in permissions]
assert inactive_service not in [i.service for i in permissions]
2023-08-14 15:32:22 -07:00
def test_dao_class(sample_user):
create_service(user=sample_user, service_name="Active service")
create_service(user=sample_user, service_name="Inactive service", active=False)
permissions_orig = permission_dao.get_permissions_by_user_id(user_id=sample_user.id)
assert len(permissions_orig) == 7
dao = DAOClass()
for permission in permissions_orig:
dao.delete_instance(permission, True)
permissions = permission_dao.get_permissions_by_user_id(user_id=sample_user.id)
assert len(permissions) == 0