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
|
2019-10-30 10:51:07 +00:00
|
|
|
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(
|
|
|
|
|
[
|
|
|
|
|
"manage_users",
|
|
|
|
|
"manage_templates",
|
|
|
|
|
"manage_settings",
|
|
|
|
|
"send_texts",
|
|
|
|
|
"send_emails",
|
|
|
|
|
"manage_api_keys",
|
|
|
|
|
"view_activity",
|
|
|
|
|
]
|
|
|
|
|
) == sorted([i.permission for i in permissions])
|
2017-02-02 11:34:00 +00:00
|
|
|
|
|
|
|
|
|
2019-10-30 10:51:07 +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
|
|
|
|
|
)
|
2019-10-30 10:51:07 +00:00
|
|
|
|
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
|