test(access): Refactor Entity model API Fields render test Suite to PyTest

ref: #883 #877
This commit is contained in:
2025-07-24 17:12:35 +09:30
parent 6e65802932
commit ca938d2b61
3 changed files with 58 additions and 80 deletions

View File

@ -22,3 +22,13 @@ def create_serializer():
yield ModelSerializer
@pytest.fixture( scope = 'class')
def model_kwargs(request, kwargs_entity):
request.cls.kwargs_create_item = kwargs_entity.copy()
yield kwargs_entity.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -0,0 +1,48 @@
import pytest
from access.models.entity import Entity
from api.tests.functional.test_functional_api_fields import (
APIFieldsInheritedCases,
)
@pytest.mark.model_entity
class EntityAPITestCases(
APIFieldsInheritedCases,
):
base_model = Entity
@property
def parameterized_api_fields(self):
return {
'entity_type': {
'expected': str
},
'_urls.history': {
'expected': str
},
'_urls.knowledge_base': {
'expected': str
}
}
class EntityAPIInheritedCases(
EntityAPITestCases,
):
pass
@pytest.mark.module_access
class EntityAPIPyTest(
EntityAPITestCases,
):
pass

View File

@ -1,80 +0,0 @@
import pytest
from access.models.entity import Entity
from api.tests.functional.test_functional_api_fields import (
APIFieldsInheritedCases,
)
@pytest.mark.model_entity
class EntityAPITestCases(
APIFieldsInheritedCases,
):
base_model = Entity
@pytest.fixture( scope = 'class')
def setup_model(self, request,
model,
):
if model != self.base_model:
request.cls.url_view_kwargs.update({
'model_name': model._meta.sub_model_type,
})
@pytest.fixture( scope = 'class', autouse = True)
def class_setup(self,
setup_pre,
setup_model,
create_model,
setup_post,
):
pass
parameterized_test_data = {
'entity_type': {
'expected': str
},
'_urls.history': {
'expected': str
},
'_urls.knowledge_base': {
'expected': str
}
}
kwargs_create_item: dict = {
'entity_type': 'entity',
}
url_ns_name = '_api_entity'
"""Url namespace (optional, if not required) and url name"""
class EntityAPIInheritedCases(
EntityAPITestCases,
):
kwargs_create_item: dict = None
model = None
url_ns_name = '_api_entity_sub'
@pytest.mark.module_access
class EntityAPIPyTest(
EntityAPITestCases,
):
pass