summaryrefslogtreecommitdiff
path: root/tests/admin_views/tests.py
diff options
context:
space:
mode:
authorRodrigo Vieira <rodrigo.vieira@gmail.com>2026-04-22 18:53:27 -0300
committerJacob Walls <jacobtylerwalls@gmail.com>2026-04-22 22:22:55 -0400
commitfa2a3de6ede10b005fc2c1d23f4cffb53eaec425 (patch)
tree2fbb49592272a9b5b54ae9457ba0e2072dabe74f /tests/admin_views/tests.py
parenta586f03f36f511064f171c0e30f4ca2ebfd60085 (diff)
Fixed #10919 -- Added delete_confirmation_max_display to ModelAdmin.
The new ModelAdmin.delete_confirmation_max_display attribute allows limiting the number of related objects shown on the delete confirmation page. When the limit is reached, a "…and N more objects." message is shown. The feature relies on a new truncated_unordered_list template filter added to django.contrib.admin.templatetags.admin_filters. Thanks Jacob Tyler Walls for the review and guidance, Tobias McNulty for the report, and terminator14 for the solution suggested.
Diffstat (limited to 'tests/admin_views/tests.py')
-rw-r--r--tests/admin_views/tests.py20
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index 399c485fea..1fdb90822c 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -4198,6 +4198,26 @@ class AdminViewDeletedObjectsTest(TestCase):
# BookAdmin.get_deleted_objects() returns custom text.
self.assertContains(response, "a deletable object")
+ def test_delete_view_uses_delete_confirmation_max_display(self):
+ book = Book.objects.create(name="Test Book")
+ response = self.client.get(
+ reverse("admin2:admin_views_book_delete", args=(book.pk,))
+ )
+ self.assertContains(response, "a deletable object")
+ self.assertContains(response, "…and 2 more objects.")
+ self.assertNotContains(response, "another object")
+ self.assertNotContains(response, "last object")
+
+ def test_delete_view_hides_objects_when_delete_confirmation_max_display_is_zero(
+ self,
+ ):
+ book = Book.objects.create(name="Test Book")
+ response = self.client.get(
+ reverse("admin_zero_display:admin_views_book_delete", args=(book.pk,))
+ )
+ self.assertNotContains(response, "<h2>Objects</h2>")
+ self.assertNotContains(response, 'id="deleted-objects"')
+
@override_settings(ROOT_URLCONF="admin_views.urls")
class TestGenericRelations(TestCase):