mirror of
https://github.com/cssgunc/compass.git
synced 2025-04-09 22:00:18 -04:00
113 lines
3.9 KiB
Python
113 lines
3.9 KiB
Python
from backend.models.enum_for_models import ProgramTypeEnum
|
|
from backend.models.resource_model import Resource
|
|
from backend.models.tag_model import Tag
|
|
from backend.services import ResourceService, TagService
|
|
from backend.services.exceptions import ResourceNotFoundException
|
|
from .user_test_data import admin
|
|
from .fixtures import resource_svc
|
|
from backend.test.services import user_test_data, resource_test_data, tag_test_data
|
|
import pytest
|
|
|
|
|
|
def test_temp(resource_svc: ResourceService, tag_svc: TagService):
|
|
resources = resource_svc.get_resource_by_user(admin)
|
|
tags = tag_svc.all()
|
|
print(tags)
|
|
print(resources)
|
|
|
|
|
|
def test_list(resource_svc: ResourceService):
|
|
resource = resource_svc.get_resource_by_user(user_test_data.admin)
|
|
assert len(resource) == len(resource_test_data.resources)
|
|
assert isinstance(resource[0], Resource)
|
|
|
|
|
|
def test_get_by_name(resource_svc: ResourceService):
|
|
resource = resource_svc.get_by_slug(user_test_data.admin, "resource 1")
|
|
assert resource[0].name == resource_test_data.resource1.name
|
|
assert isinstance(resource[0], Resource)
|
|
|
|
|
|
def test_get_by_name_not_found(resource_svc: ResourceService):
|
|
resource = resource_svc.get_by_slug(user_test_data.admin, "resource 12")
|
|
assert len(resource) == 0
|
|
|
|
|
|
def test_get_resource_by_user_admin(resource_svc: ResourceService):
|
|
resource = resource_svc.get_resource_by_user(user_test_data.admin)
|
|
assert len(resource) == len(resource_test_data.resources)
|
|
|
|
|
|
def test_get_resource_by_user_volun(resource_svc: ResourceService):
|
|
resource = resource_svc.get_resource_by_user(user_test_data.volunteer)
|
|
assert len(resource) == 2
|
|
|
|
|
|
def test_get_by_program(resource_svc: ResourceService):
|
|
resources = resource_svc.get_by_program(
|
|
user_test_data.admin, ProgramTypeEnum.COMMUNITY
|
|
)
|
|
for resource in resources:
|
|
assert resource.program == ProgramTypeEnum.COMMUNITY
|
|
assert isinstance(resource, Resource)
|
|
|
|
|
|
def test_create(resource_svc: ResourceService):
|
|
resource = resource_svc.create(
|
|
user_test_data.admin, resource_test_data.resource_to_create
|
|
)
|
|
assert resource.name == resource_test_data.resource_to_create.name
|
|
assert isinstance(resource, Resource)
|
|
|
|
|
|
def test_update(resource_svc: ResourceService):
|
|
resource = resource_svc.update(
|
|
user_test_data.admin, resource_test_data.resource4_edit
|
|
)
|
|
assert resource.name == resource_test_data.resource4_edit.name
|
|
assert isinstance(resource, Resource)
|
|
|
|
|
|
def test_update_with_tags(resource_svc: ResourceService):
|
|
resource = resource_svc.update(user_test_data.admin, resource_test_data.resource2)
|
|
assert len(resource.tags) == 2
|
|
|
|
|
|
def test_update_not_found(resource_svc: ResourceService):
|
|
with pytest.raises(ResourceNotFoundException):
|
|
resource = resource_svc.update(
|
|
user_test_data.admin, resource_test_data.resource_to_create
|
|
)
|
|
pytest.fail()
|
|
|
|
|
|
def test_delete(resource_svc: ResourceService):
|
|
resource_svc.delete(user_test_data.admin, resource_test_data.resource3)
|
|
resources = resource_svc.get_resource_by_user(user_test_data.admin)
|
|
assert len(resources) == len(resource_test_data.resources) - 1
|
|
|
|
|
|
def test_delete_not_found(resource_svc: ResourceService):
|
|
with pytest.raises(ResourceNotFoundException):
|
|
resource_svc.delete(user_test_data.admin, resource_test_data.resource_10)
|
|
pytest.fail()
|
|
|
|
|
|
def test_create_resource_with_tags(resource_svc: ResourceService):
|
|
resource = Resource(
|
|
name="test resource",
|
|
summary="summary",
|
|
link="www.example.com",
|
|
program=ProgramTypeEnum.COMMUNITY,
|
|
tags=[Tag(content="resource tag")],
|
|
)
|
|
resource_entity = resource_svc.create(user_test_data.admin, resource)
|
|
assert len(resource_entity.tags) == 1
|
|
|
|
|
|
def test_update_tags_for_resource(resource_svc: ResourceService):
|
|
resourceEntity = resource_svc.update(
|
|
user_test_data.admin, resource_test_data.resource2_edit_tags
|
|
)
|
|
assert len(resourceEntity.tags) == 1
|