diff --git a/tests/test_django.py b/tests/test_django.py index 694b79ab..338af729 100644 --- a/tests/test_django.py +++ b/tests/test_django.py @@ -139,6 +139,18 @@ class Meta: text = factory.Sequence(lambda n: "text%s" % n) +class WithMultipleGetOrCreateWithTraitFieldsFactory(factory.django.DjangoModelFactory): + class Meta: + model = models.MultifieldUniqueModel + django_get_or_create = ("slug", "text",) + + slug = '' + text = factory.Sequence(lambda n: "text%s" % n) + + class Params: + with_slug = factory.Trait(slug='bar') + + class ModelTests(django_test.TestCase): databases = {'default', 'replica'} @@ -249,6 +261,11 @@ def test_unique_field_not_in_get_or_create(self): with self.assertRaises(django.db.IntegrityError): WithMultipleGetOrCreateFieldsFactory(title="Title") + def test_get_or_create_with_trait(self): + WithMultipleGetOrCreateWithTraitFieldsFactory(text='foo') + obj = WithMultipleGetOrCreateWithTraitFieldsFactory(text='foo', with_slug=True) + self.assertEqual(obj.slug, 'bar') + class DjangoPkForceTestCase(django_test.TestCase): def setUp(self):