From 69bbe94b06ae0f22952b7727dcb2d7159163bc74 Mon Sep 17 00:00:00 2001 From: Jon Date: Wed, 4 Jun 2025 09:42:04 +0930 Subject: [PATCH] feat(core): Add supprt to model create test for manytomany field ref: #783 --- .../test_unit_centurion_abstract_model.py | 36 ++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py b/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py index 46d3ff3c..688fbd8d 100644 --- a/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py +++ b/app/core/tests/unit/centurion_abstract/test_unit_centurion_abstract_model.py @@ -245,10 +245,44 @@ class CenturionAbstractModelInheritedCases( model.context['user'] = user + kwargs = {} + + many_field = {} + + for field, value in self.kwargs_create_item.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 + }) + + model_object = model.objects.create( - **self.kwargs_create_item + **kwargs ) + for field, values in many_field.items(): + + for value in values: + + getattr(model_object, field).add( value ) + + model.context['user'] = default_val assert type(model_object.id) is int