chore(tests): cater for manytomany for api fields

ref: #855
This commit is contained in:
2025-07-06 23:36:11 +09:30
parent cf7fb57583
commit 5b6f9bec00
6 changed files with 61 additions and 5 deletions

View File

@ -111,6 +111,17 @@ class AuditHistoryMetaModelTestCases(
many_field[field] += [ value ]
elif isinstance(value, list):
value_list = []
for list_value in value:
value_list += [ list_value ]
value = value_list
else:
many_field.update({

View File

@ -111,6 +111,17 @@ class ModelNotesMetaModelTestCases(
many_field[field] += [ value ]
elif isinstance(value, list):
value_list = []
for list_value in value:
value_list += [ list_value ]
value = value_list
else:
many_field.update({

View File

@ -20,8 +20,21 @@ def kwargs_api_create(django_db_blocker, model_kwargs):
if isinstance(value, models.Model):
value = value.id
elif isinstance(value, dict):
value = json.dumps(value)
elif isinstance(value, list):
value_list = []
for list_value in value:
if isinstance(list_value, models.Model):
value_list += [ list_value.id ]
else:
value_list += [ list_value ]
value = value_list
kwargs.update({
field: value

View File

@ -44,7 +44,7 @@ def kwargs_knowledgebase(django_db_blocker,
'category': category,
'release_date': '2024-06-04T00:00:01Z',
'expiry_date': '2024-06-04T00:00:02Z',
'target_team': team,
'target_team': [ team ],
# 'target_user': ,
'responsible_user': user,
# 'responsible_teams': '',

View File

@ -26,10 +26,28 @@ def model_kwarg_data():
if isinstance(getattr(model, field).field, models.ManyToManyField):
if isinstance(value, list):
value_list = []
for list_value in value:
if isinstance(list_value, models.Model):
value_list += [ list_value.id ]
value = value_list
if field in many_field:
many_field[field] += [ value ]
elif isinstance(value, list):
many_field.update({
field: value
})
else:
many_field.update({

View File

@ -38,13 +38,16 @@ def kwargs_service(django_db_blocker,
'name': 'service_' + random_str,
'device': device,
'config_key_variable': 'svc',
'port': port,
'port': [ port ],
}
yield kwargs.copy()
with django_db_blocker.unblock():
device.delete()
try:
device.delete()
except:
pass
port.delete()