diff options
Diffstat (limited to 'tests/admin_utils')
| -rw-r--r-- | tests/admin_utils/models.py | 10 | ||||
| -rw-r--r-- | tests/admin_utils/tests.py | 25 |
2 files changed, 32 insertions, 3 deletions
diff --git a/tests/admin_utils/models.py b/tests/admin_utils/models.py index 243f314b03..e5d2b67887 100644 --- a/tests/admin_utils/models.py +++ b/tests/admin_utils/models.py @@ -40,7 +40,7 @@ class ArticleProxy(Article): proxy = True -class Count(models.Model): +class Cascade(models.Model): num = models.PositiveSmallIntegerField() parent = models.ForeignKey("self", models.CASCADE, null=True) @@ -48,6 +48,14 @@ class Count(models.Model): return str(self.num) +class DBCascade(models.Model): + num = models.PositiveSmallIntegerField() + parent = models.ForeignKey("self", models.DB_CASCADE, null=True) + + def __str__(self): + return str(self.num) + + class Event(models.Model): date = models.DateTimeField(auto_now_add=True) diff --git a/tests/admin_utils/tests.py b/tests/admin_utils/tests.py index c90836c6d8..ce32535c52 100644 --- a/tests/admin_utils/tests.py +++ b/tests/admin_utils/tests.py @@ -26,7 +26,17 @@ from django.test.utils import isolate_apps from django.utils.formats import localize from django.utils.safestring import mark_safe -from .models import Article, Car, Count, Event, EventGuide, Location, Site, Vehicle +from .models import ( + Article, + Car, + Cascade, + DBCascade, + Event, + EventGuide, + Location, + Site, + Vehicle, +) class NestedObjectsTests(TestCase): @@ -34,10 +44,12 @@ class NestedObjectsTests(TestCase): Tests for ``NestedObject`` utility collection. """ + cascade_model = Cascade + @classmethod def setUpTestData(cls): cls.n = NestedObjects(using=DEFAULT_DB_ALIAS) - cls.objs = [Count.objects.create(num=i) for i in range(5)] + cls.objs = [cls.cascade_model.objects.create(num=i) for i in range(5)] def _check(self, target): self.assertEqual(self.n.nested(lambda obj: obj.num), target) @@ -103,6 +115,15 @@ class NestedObjectsTests(TestCase): n.collect([Vehicle.objects.first()]) +class DBNestedObjectsTests(NestedObjectsTests): + """ + Exercise NestedObjectsTests but with a model that makes use of DB_CASCADE + instead of CASCADE to ensure proper collection of objects takes place. + """ + + cascade_model = DBCascade + + class UtilsTests(SimpleTestCase): empty_value = "-empty-" |
