@ -94,13 +94,17 @@ class ModelTestCases(
|
|||||||
@pytest.fixture( scope = 'function', autouse = True)
|
@pytest.fixture( scope = 'function', autouse = True)
|
||||||
def model_instance(cls, request, model, model_kwargs):
|
def model_instance(cls, request, model, model_kwargs):
|
||||||
|
|
||||||
if model._meta.abstract:
|
class MockModel(model):
|
||||||
|
class Meta:
|
||||||
|
app_label = 'core'
|
||||||
|
verbose_name = 'mock instance'
|
||||||
|
managed = False
|
||||||
|
|
||||||
class MockModel(model):
|
if 'mockmodel' in apps.all_models['core']:
|
||||||
class Meta:
|
|
||||||
app_label = 'core'
|
del apps.all_models['core']['mockmodel']
|
||||||
verbose_name = 'mock instance'
|
|
||||||
managed = False
|
if model._meta.abstract:
|
||||||
|
|
||||||
instance = MockModel()
|
instance = MockModel()
|
||||||
|
|
||||||
@ -110,16 +114,16 @@ class ModelTestCases(
|
|||||||
|
|
||||||
yield instance
|
yield instance
|
||||||
|
|
||||||
if instance.id:
|
if 'mockmodel' in apps.all_models['core']:
|
||||||
|
|
||||||
|
del apps.all_models['core']['mockmodel']
|
||||||
|
|
||||||
|
if instance.id and type(instance) is not MockModel:
|
||||||
|
|
||||||
instance.delete()
|
instance.delete()
|
||||||
|
|
||||||
del instance
|
del instance
|
||||||
|
|
||||||
if 'mockmodel' in apps.all_models['core']:
|
|
||||||
|
|
||||||
del apps.all_models['core']['mockmodel']
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture( scope = 'class', autouse = True)
|
@pytest.fixture( scope = 'class', autouse = True)
|
||||||
|
6
app/tests/fixtures/model_instance.py
vendored
6
app/tests/fixtures/model_instance.py
vendored
@ -43,6 +43,12 @@ def model_instance(django_db_blocker, model_user, model, model_kwargs):
|
|||||||
|
|
||||||
obj = MockModel()
|
obj = MockModel()
|
||||||
|
|
||||||
|
|
||||||
|
if 'mockmodel' in apps.all_models['core']:
|
||||||
|
|
||||||
|
del apps.all_models['core']['mockmodel']
|
||||||
|
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
|
||||||
new_kwargs = model_kwargs.copy()
|
new_kwargs = model_kwargs.copy()
|
||||||
|
Reference in New Issue
Block a user