refactor(tests): Create global model fixtures

ref: #780 #729
This commit is contained in:
2025-05-31 10:44:17 +09:30
parent 66d14ea5bb
commit 1d31a259df
47 changed files with 820 additions and 358 deletions

View File

@ -1,14 +1,19 @@
import pytest
from core.models.centurion import CenturionModel
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionmodel):
request.cls.model = CenturionModel
yield model_centurionmodel
yield request.cls.model
del request.cls.model
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionmodel):
request.cls.kwargs_create_item = kwargs_centurionmodel.copy()
yield kwargs_centurionmodel.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -14,12 +14,6 @@ class CenturionAbstractModelTestCases(
):
kwargs_create_item = {
'model_notes': 'model notes txt',
'created': '2025-05-23T00:00',
}
def test_model_has_history_model(self, model):
"""Audit History Table check
@ -46,7 +40,7 @@ class CenturionAbstractModelTestCases(
def test_model_create_has_history_entry(self, content_type, created_model, model):
def test_model_create_has_history_entry(self, model_contenttype, created_model, model):
"""Model Created
Ensure that the model when created, added a `create` Audit History
@ -66,7 +60,7 @@ class CenturionAbstractModelTestCases(
entry = history_model.objects.get(
model = created_model,
content_type = content_type.objects.get(
content_type = model_contenttype.objects.get(
app_label = created_model._meta.app_label,
model = created_model._meta.model_name
)

View File

@ -1,10 +1,19 @@
import pytest
from core.models.audit import CenturionAudit
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionaudit):
yield CenturionAudit
yield model_centurionaudit
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionaudit):
request.cls.kwargs_create_item = kwargs_centurionaudit.copy()
yield kwargs_centurionaudit.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -16,25 +16,15 @@ class CenturionAuditModelTestCases(
):
kwargs_create_item = {
'before': {},
'after': {
'after_key': 'after_value'
},
'action': CenturionAudit.Actions.ADD,
'user': 'fixture sets value',
'content_type': 'fixture sets value',
}
@pytest.fixture( scope = 'class', autouse = True )
def setup_vars(self, content_type, django_db_blocker, user, model):
def setup_vars(self, model_contenttype, django_db_blocker, model):
with django_db_blocker.unblock():
try:
content_type = content_type.objects.get(
content_type = model_contenttype.objects.get(
app_label = model._meta.app_label,
model = model._meta.model_name,
)
@ -42,14 +32,13 @@ class CenturionAuditModelTestCases(
except content_type.DoesNotExist:
# Enable Abstract models to be tested
content_type = content_type.objects.get(
content_type = model_contenttype.objects.get(
pk = 1,
)
self.kwargs_create_item.update({
'content_type': content_type,
'user': user,
})

View File

@ -1,10 +1,19 @@
import pytest
from core.models.centurion_notes import CenturionModelNote
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionmodelnote):
yield CenturionModelNote
yield model_centurionmodelnote
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionmodelnote):
request.cls.kwargs_create_item = kwargs_centurionmodelnote.copy()
yield kwargs_centurionmodelnote.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -14,21 +14,15 @@ class CenturionNoteModelTestCases(
):
kwargs_create_item = {
'body': 'a random note',
'created_by': 'fixture sets value',
'content_type': 'fixture sets value',
}
@pytest.fixture( scope = 'class', autouse = True )
def setup_vars(self, content_type, django_db_blocker, user, model):
def setup_vars(self, model_contenttype, django_db_blocker, model):
with django_db_blocker.unblock():
try:
content_type = content_type.objects.get(
content_type = model_contenttype.objects.get(
app_label = model._meta.app_label,
model = model._meta.model_name,
)
@ -36,14 +30,13 @@ class CenturionNoteModelTestCases(
except content_type.DoesNotExist:
# Enable Abstract models to be tested
content_type = content_type.objects.get(
content_type = model_contenttype.objects.get(
pk = 1,
)
self.kwargs_create_item.update({
'content_type': content_type,
'created_by': user,
})

View File

@ -1,14 +1,19 @@
import pytest
from core.models.centurion import CenturionModel
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionmodel):
request.cls.model = CenturionModel
yield model_centurionmodel
yield request.cls.model
del request.cls.model
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionmodel):
request.cls.kwargs_create_item = kwargs_centurionmodel.copy()
yield kwargs_centurionmodel.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -22,14 +22,6 @@ class CenturionAbstractModelTestCases(
):
kwargs_create_item = {
'model_notes': 'model notes txt',
'created': '2025-05-23T00:00',
}
@property
def parameterized_class_attributes(self):

View File

@ -1,10 +1,19 @@
import pytest
from core.models.audit import CenturionAudit
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionaudit):
yield CenturionAudit
yield model_centurionaudit
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionaudit):
request.cls.kwargs_create_item = kwargs_centurionaudit.copy()
yield kwargs_centurionaudit.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -1,14 +1,14 @@
import inspect
import pytest
from django.apps import apps
# from django.apps import apps
from django.contrib.contenttypes.models import ContentType
from django.core.exceptions import (
ValidationError
)
from django.db import models
from core.models.audit import CenturionAudit
# from core.models.audit import CenturionAudit
from core.tests.unit.centurion_abstract.test_unit_centurion_abstract_model import (
CenturionAbstractModelInheritedCases
@ -21,17 +21,6 @@ class CenturionAuditModelTestCases(
):
kwargs_create_item = {
'before': {},
'after': {
'after_key': 'after_value'
},
'action': CenturionAudit.Actions.ADD,
'user': 'fixture sets value',
'content_type': 'fixture sets value',
}
parameterized_class_attributes = {
'_audit_enabled': {
'value': False,

View File

@ -5,6 +5,17 @@ from core.models.audit import AuditMetaModel
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionauditmeta):
yield AuditMetaModel
yield model_centurionauditmeta
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionauditmeta):
request.cls.kwargs_create_item = kwargs_centurionauditmeta.copy()
yield kwargs_centurionauditmeta.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -1,10 +1,19 @@
import pytest
from core.models.centurion_notes import CenturionModelNote
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionmodelnote):
yield CenturionModelNote
yield model_centurionmodelnote
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionmodelnote):
request.cls.kwargs_create_item = kwargs_centurionmodelnote.copy()
yield kwargs_centurionmodelnote.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -15,13 +15,6 @@ class CenturionNoteModelTestCases(
):
kwargs_create_item = {
'body': 'a random note',
'created_by': 'fixture sets value',
'content_type': 'fixture sets value',
}
parameterized_class_attributes = {
'_audit_enabled': {
'value': False,

View File

@ -1,10 +1,19 @@
import pytest
from core.models.centurion_notes import NoteMetaModel
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionmodelnotemeta):
yield NoteMetaModel
yield model_centurionmodelnotemeta
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionmodelnotemeta):
request.cls.kwargs_create_item = kwargs_centurionmodelnotemeta.copy()
yield kwargs_centurionmodelnotemeta.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item

View File

@ -5,6 +5,17 @@ from core.models.centurion import CenturionSubModel
@pytest.fixture( scope = 'class')
def model(request):
def model(model_centurionsubmodel):
yield CenturionSubModel
yield model_centurionsubmodel
@pytest.fixture( scope = 'class', autouse = True)
def model_kwargs(request, kwargs_centurionsubmodel):
request.cls.kwargs_create_item = kwargs_centurionsubmodel.copy()
yield kwargs_centurionsubmodel.copy()
if hasattr(request.cls, 'kwargs_create_item'):
del request.cls.kwargs_create_item