aboutsummaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
Diffstat (limited to 'tests')
-rw-r--r--tests/djapp/models.py11
-rw-r--r--tests/test_django.py13
2 files changed, 23 insertions, 1 deletions
diff --git a/tests/djapp/models.py b/tests/djapp/models.py
index 68b9709..cadefbc 100644
--- a/tests/djapp/models.py
+++ b/tests/djapp/models.py
@@ -110,3 +110,14 @@ class WithCustomManager(models.Model):
foo = models.CharField(max_length=20)
objects = CustomManager()
+
+
+class AbstractWithCustomManager(models.Model):
+ custom_objects = CustomManager()
+
+ class Meta:
+ abstract = True
+
+
+class FromAbstractWithCustomManager(AbstractWithCustomManager):
+ pass
diff --git a/tests/test_django.py b/tests/test_django.py
index bde8efe..b8e7ccb 100644
--- a/tests/test_django.py
+++ b/tests/test_django.py
@@ -755,10 +755,21 @@ class PreventSignalsTestCase(unittest.TestCase):
self.assertSignalsReactivated()
-class DjangoCustomManagerTestCase(django_test.TestCase):
+@unittest.skipIf(django is None, "Django not installed.")
+class DjangoCustomManagerTestCase(unittest.TestCase):
def test_extra_args(self):
+ # Our CustomManager will remove the 'arg=' argument.
model = WithCustomManagerFactory(arg='foo')
+ def test_with_manager_on_abstract(self):
+ class ObjFactory(factory.django.DjangoModelFactory):
+ class Meta:
+ model = models.FromAbstractWithCustomManager
+
+ # Our CustomManager will remove the 'arg=' argument,
+ # invalid for the actual model.
+ ObjFactory.create(arg='invalid')
+
if __name__ == '__main__': # pragma: no cover
unittest.main()