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

72 lines
2.3 KiB
Python
Raw Normal View History

import pytest
2021-03-10 13:55:06 +00:00
from app.dao.service_permissions_dao import (
dao_fetch_service_permissions,
dao_remove_service_permission,
)
2024-01-18 10:26:40 -05:00
from app.models import ServicePermissionType
2021-03-10 13:55:06 +00:00
from tests.app.db import create_service, create_service_permission
@pytest.fixture(scope="function")
def service_without_permissions(notify_db_session):
return create_service(service_permissions=[])
def test_create_service_permission(service_without_permissions):
service_permissions = create_service_permission(
2024-01-18 10:26:40 -05:00
service_id=service_without_permissions.id, permission=ServicePermissionType.SMS
)
2017-05-16 12:53:46 +01:00
assert len(service_permissions) == 1
assert service_permissions[0].service_id == service_without_permissions.id
2024-01-18 10:26:40 -05:00
assert service_permissions[0].permission == ServicePermissionType.SMS
def test_fetch_service_permissions_gets_service_permissions(
service_without_permissions,
):
create_service_permission(
2024-01-18 10:26:40 -05:00
service_id=service_without_permissions.id,
permission=ServicePermissionType.INTERNATIONAL_SMS,
)
create_service_permission(
2024-01-18 10:26:40 -05:00
service_id=service_without_permissions.id, permission=ServicePermissionType.SMS
)
2017-05-16 12:33:27 +01:00
service_permissions = dao_fetch_service_permissions(service_without_permissions.id)
2023-03-02 20:20:31 -05:00
assert len(service_permissions) == 2
assert all(
sp.service_id == service_without_permissions.id for sp in service_permissions
)
assert all(
2024-01-18 10:27:31 -05:00
sp.permission
in {
2024-01-18 10:26:40 -05:00
ServicePermissionType.INTERNATIONAL_SMS,
ServicePermissionType.SMS,
}
for sp in service_permissions
)
def test_remove_service_permission(service_without_permissions):
create_service_permission(
2024-01-18 10:26:40 -05:00
service_id=service_without_permissions.id,
permission=ServicePermissionType.EMAIL,
)
create_service_permission(
2024-01-18 10:26:40 -05:00
service_id=service_without_permissions.id,
permission=ServicePermissionType.INBOUND_SMS,
)
2024-01-18 10:26:40 -05:00
dao_remove_service_permission(
service_without_permissions.id,
ServicePermissionType.EMAIL,
)
permissions = dao_fetch_service_permissions(service_without_permissions.id)
assert len(permissions) == 1
2024-01-18 10:26:40 -05:00
assert permissions[0].permission == ServicePermissionType.INBOUND_SMS
assert permissions[0].service_id == service_without_permissions.id