compass/backend/test/services/service_test.py
2024-04-24 19:37:58 -04:00

68 lines
2.4 KiB
Python

import pytest
from ...services import ServiceService
from .fixtures import service_svc
from ...models.service_model import Service
from ...models.enum_for_models import ProgramTypeEnum
from . import user_test_data
from . import service_test_data
from ...services.exceptions import ServiceNotFoundException, ProgramNotAssignedException
def test_get_all(service_svc: ServiceService):
service = service_svc.get_all(user_test_data.admin)
assert len(service) == len(service_test_data.services)
def test_get_by_id(service_svc: ServiceService):
if service_test_data.service_1.id != None:
service = service_svc.get_service_by_id(service_test_data.service_1.id)
assert service.id == service_test_data.service_1.id
def test_get_by_name_not_found(service_svc: ServiceService):
with pytest.raises(ServiceNotFoundException):
service_svc.get_service_by_id(12)
pytest.fail()
def test_get_by_program(service_svc: ServiceService):
services = service_svc.get_service_by_program(ProgramTypeEnum.COMMUNITY)
for service in services:
assert service.program == ProgramTypeEnum.COMMUNITY
assert isinstance(service, Service)
def test_create(service_svc: ServiceService):
service = service_svc.create(user_test_data.admin, service_test_data.service_7)
assert service.name == service_test_data.service_7.name
assert isinstance(service, Service)
def test_update(service_svc: ServiceService):
service = service_svc.update(user_test_data.admin, service_test_data.service_6_edit)
assert service.status == service_test_data.service_6_edit.status
assert service.requirements == service_test_data.service_6_edit.requirements
assert isinstance(service, Service)
def test_update_not_found(service_svc: ServiceService):
with pytest.raises(ServiceNotFoundException):
service = service_svc.update(
user_test_data.admin, service_test_data.new_service
)
pytest.fail()
def test_delete(service_svc: ServiceService):
service_svc.delete(user_test_data.admin, service_test_data.service_1)
services = service_svc.get_all(user_test_data.admin)
assert len(services) == len(service_test_data.services) - 1
def test_delete_not_found(service_svc: ServiceService):
with pytest.raises(ServiceNotFoundException):
service_svc.delete(user_test_data.admin, service_test_data.service_7)
pytest.fail()