diff options
| author | Becky Smith <rebkwok@gmail.com> | 2017-03-30 10:13:15 +0100 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2018-02-24 20:41:43 -0500 |
| commit | 8116e588dbdd17171a322da589b691bdf01f7041 (patch) | |
| tree | c46f319b831339ec9ee665e850f89bc3f3a169e0 /tests/admin_views | |
| parent | 9822d88ca0dd855a668f9c33447aeac45a9768ac (diff) | |
Fixed #17962 -- Added ModelAdmin.get_deleted_objects().
Diffstat (limited to 'tests/admin_views')
| -rw-r--r-- | tests/admin_views/customadmin.py | 6 | ||||
| -rw-r--r-- | tests/admin_views/test_actions.py | 14 | ||||
| -rw-r--r-- | tests/admin_views/tests.py | 7 |
3 files changed, 26 insertions, 1 deletions
diff --git a/tests/admin_views/customadmin.py b/tests/admin_views/customadmin.py index 5ee8c0c159..9331918b37 100644 --- a/tests/admin_views/customadmin.py +++ b/tests/admin_views/customadmin.py @@ -46,9 +46,15 @@ class CustomPwdTemplateUserAdmin(UserAdmin): change_user_password_template = ['admin/auth/user/change_password.html'] # a list, to test fix for #18697 +class BookAdmin(admin.ModelAdmin): + def get_deleted_objects(self, objs, request): + return ['a deletable object'], {'books': 1}, set(), [] + + site = Admin2(name="admin2") site.register(models.Article, base_admin.ArticleAdmin) +site.register(models.Book, BookAdmin) site.register(models.Section, inlines=[base_admin.ArticleInline], search_fields=['name']) site.register(models.Thing, base_admin.ThingAdmin) site.register(models.Fabric, base_admin.FabricAdmin) diff --git a/tests/admin_views/test_actions.py b/tests/admin_views/test_actions.py index 4823316e3e..423c2f927f 100644 --- a/tests/admin_views/test_actions.py +++ b/tests/admin_views/test_actions.py @@ -12,7 +12,7 @@ from django.urls import reverse from .admin import SubscriberAdmin from .forms import MediaActionForm from .models import ( - Actor, Answer, ExternalSubscriber, Question, Subscriber, + Actor, Answer, Book, ExternalSubscriber, Question, Subscriber, UnchangeableObject, ) @@ -153,6 +153,18 @@ class AdminActionsTest(TestCase): self.assertIs(SubscriberAdmin.overridden, True) self.assertEqual(Subscriber.objects.all().count(), 0) + def test_delete_selected_uses_get_deleted_objects(self): + """The delete_selected action uses ModelAdmin.get_deleted_objects().""" + book = Book.objects.create(name='Test Book') + data = { + ACTION_CHECKBOX_NAME: [book.pk], + 'action': 'delete_selected', + 'index': 0, + } + response = self.client.post(reverse('admin2:admin_views_book_changelist'), data) + # BookAdmin.get_deleted_objects() returns custom text. + self.assertContains(response, 'a deletable object') + def test_custom_function_mail_action(self): """A custom action may be defined in a function.""" action_data = { diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py index 011bb2897a..3985e16b47 100644 --- a/tests/admin_views/tests.py +++ b/tests/admin_views/tests.py @@ -2357,6 +2357,13 @@ class AdminViewDeletedObjectsTest(TestCase): response = self.client.get(reverse('admin:admin_views_bookmark_delete', args=(bookmark.pk,))) self.assertContains(response, should_contain) + def test_delete_view_uses_get_deleted_objects(self): + """The delete view uses ModelAdmin.get_deleted_objects().""" + book = Book.objects.create(name='Test Book') + response = self.client.get(reverse('admin2:admin_views_book_delete', args=(book.pk,))) + # BookAdmin.get_deleted_objects() returns custom text. + self.assertContains(response, 'a deletable object') + @override_settings(ROOT_URLCONF='admin_views.urls') class TestGenericRelations(TestCase): |
