diff --git a/app/centurion/tests/unit_models.py b/app/centurion/tests/unit_models.py index 737f4063..8826cf56 100644 --- a/app/centurion/tests/unit_models.py +++ b/app/centurion/tests/unit_models.py @@ -94,13 +94,17 @@ class ModelTestCases( @pytest.fixture( scope = 'function', autouse = True) 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): - class Meta: - app_label = 'core' - verbose_name = 'mock instance' - managed = False + if 'mockmodel' in apps.all_models['core']: + + del apps.all_models['core']['mockmodel'] + + if model._meta.abstract: instance = MockModel() @@ -110,16 +114,16 @@ class ModelTestCases( 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() del instance - if 'mockmodel' in apps.all_models['core']: - - del apps.all_models['core']['mockmodel'] - @pytest.fixture( scope = 'class', autouse = True) diff --git a/app/tests/fixtures/model_instance.py b/app/tests/fixtures/model_instance.py index 1ccf489b..bef71a4e 100644 --- a/app/tests/fixtures/model_instance.py +++ b/app/tests/fixtures/model_instance.py @@ -43,6 +43,12 @@ def model_instance(django_db_blocker, model_user, model, model_kwargs): obj = MockModel() + + if 'mockmodel' in apps.all_models['core']: + + del apps.all_models['core']['mockmodel'] + + else: new_kwargs = model_kwargs.copy()