@ -92,7 +92,7 @@ class ModelTestCases(
|
||||
|
||||
|
||||
@pytest.fixture( scope = 'function', autouse = True)
|
||||
def model_instance(cls, request, model, model_kwargs):
|
||||
def model_instance(cls, model_kwarg_data, model, model_kwargs):
|
||||
|
||||
class MockModel(model):
|
||||
class Meta:
|
||||
@ -110,52 +110,24 @@ class ModelTestCases(
|
||||
|
||||
else:
|
||||
|
||||
|
||||
kwargs = {}
|
||||
|
||||
many_field = {}
|
||||
|
||||
for field, value in model_kwargs.items():
|
||||
|
||||
if isinstance(getattr(model, field).field, models.ManyToManyField):
|
||||
|
||||
if field in many_field:
|
||||
|
||||
many_field[field] += [ value ]
|
||||
|
||||
else:
|
||||
|
||||
many_field.update({
|
||||
field: [
|
||||
value
|
||||
]
|
||||
})
|
||||
|
||||
continue
|
||||
|
||||
kwargs.update({
|
||||
field: value
|
||||
})
|
||||
|
||||
instance = model.objects.create( **kwargs )
|
||||
instance = model_kwarg_data(
|
||||
model = model,
|
||||
model_kwargs = model_kwargs,
|
||||
create_instance = True,
|
||||
)
|
||||
|
||||
|
||||
|
||||
for field, values in many_field.items():
|
||||
|
||||
for value in values:
|
||||
|
||||
getattr(instance, field).add( value )
|
||||
|
||||
|
||||
|
||||
yield instance
|
||||
yield instance['instance']
|
||||
|
||||
if 'mockmodel' in apps.all_models['core']:
|
||||
|
||||
del apps.all_models['core']['mockmodel']
|
||||
|
||||
if instance.id and type(instance) is not MockModel:
|
||||
if type(instance) is dict:
|
||||
|
||||
instance['instance'].delete()
|
||||
|
||||
elif instance.id and type(instance) is not MockModel:
|
||||
|
||||
instance.delete()
|
||||
|
||||
|
Reference in New Issue
Block a user