summaryrefslogtreecommitdiff
path: root/tests/admin_utils
diff options
context:
space:
mode:
Diffstat (limited to 'tests/admin_utils')
-rw-r--r--tests/admin_utils/models.py10
-rw-r--r--tests/admin_utils/tests.py25
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-"