summaryrefslogtreecommitdiff
path: root/tests/test_django.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_django.py')
-rw-r--r--tests/test_django.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/tests/test_django.py b/tests/test_django.py
index 9d02131..b27562c 100644
--- a/tests/test_django.py
+++ b/tests/test_django.py
@@ -158,6 +158,35 @@ class DjangoPkSequenceTestCase(django_test.TestCase):
@unittest.skipIf(django is None, "Django not installed.")
+class DjangoModelLoadingTestCase(django_test.TestCase):
+ """Tests FACTORY_FOR = 'app.Model' pattern."""
+
+ def test_loading(self):
+ class ExampleFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = 'djapp.StandardModel'
+
+ self.assertEqual(models.StandardModel, ExampleFactory._load_target_class())
+
+ def test_building(self):
+ class ExampleFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = 'djapp.StandardModel'
+
+ e = ExampleFactory.build()
+ self.assertEqual(models.StandardModel, e.__class__)
+
+ def test_cache(self):
+ class ExampleFactory(factory.DjangoModelFactory):
+ FACTORY_FOR = 'djapp.StandardModel'
+
+ self.assertEqual('djapp.StandardModel', ExampleFactory._associated_class)
+ self.assertIsNone(ExampleFactory._associated_model)
+
+ self.assertEqual(models.StandardModel, ExampleFactory._load_target_class())
+ self.assertEqual('djapp.StandardModel', ExampleFactory._associated_class)
+ self.assertEqual(models.StandardModel, ExampleFactory._associated_model)
+
+
+@unittest.skipIf(django is None, "Django not installed.")
class DjangoNonIntegerPkTestCase(django_test.TestCase):
def setUp(self):
super(DjangoNonIntegerPkTestCase, self).setUp()