|
@@ -9,6 +9,7 @@ from django.template.response import TemplateResponse
|
|
|
from django.test import TestCase, override_settings
|
|
|
from django.urls import reverse
|
|
|
|
|
|
+from .admin import SubscriberAdmin
|
|
|
from .forms import MediaActionForm
|
|
|
from .models import (
|
|
|
Actor, Answer, ExternalSubscriber, Question, Subscriber,
|
|
@@ -128,6 +129,19 @@ class AdminActionsTest(TestCase):
|
|
|
# The page doesn't display a link to the nonexistent change page.
|
|
|
self.assertContains(response, '<li>Unchangeable object: %s</li>' % obj, 1, html=True)
|
|
|
|
|
|
+ def test_delete_queryset_hook(self):
|
|
|
+ delete_confirmation_data = {
|
|
|
+ ACTION_CHECKBOX_NAME: [self.s1.pk, self.s2.pk],
|
|
|
+ 'action': 'delete_selected',
|
|
|
+ 'post': 'yes',
|
|
|
+ 'index': 0,
|
|
|
+ }
|
|
|
+ SubscriberAdmin.overridden = False
|
|
|
+ self.client.post(reverse('admin:admin_views_subscriber_changelist'), delete_confirmation_data)
|
|
|
+ # SubscriberAdmin.delete_queryset() sets overridden to True.
|
|
|
+ self.assertIs(SubscriberAdmin.overridden, True)
|
|
|
+ self.assertEqual(Subscriber.objects.all().count(), 0)
|
|
|
+
|
|
|
def test_custom_function_mail_action(self):
|
|
|
"""A custom action may be defined in a function."""
|
|
|
action_data = {
|