summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-09 09:03:40 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-09 09:04:12 +0100
commit45de30dc693fcd63d33816a85fb02abd5f7a10b4 (patch)
tree773d0e21d4b2c771f7c5c883d6801ebfc7ae4049 /tests
parentb7b3bbc8356b8365f3ab8ed9c8d863b47c18a3d4 (diff)
[4.0.x] Refs #33263 -- Added warning to BaseDeleteView when delete() method is overridden.
Follow up to 3a45fea0832c5910acee6e0d29f230f347a50462. Backport of 6bc437c0d82675ebe6aa92c8e249892205c316ef from main
Diffstat (limited to 'tests')
-rw-r--r--tests/generic_views/test_edit.py23
1 files changed, 22 insertions, 1 deletions
diff --git a/tests/generic_views/test_edit.py b/tests/generic_views/test_edit.py
index d69ae6463e..4292600911 100644
--- a/tests/generic_views/test_edit.py
+++ b/tests/generic_views/test_edit.py
@@ -4,7 +4,10 @@ from django.test import SimpleTestCase, TestCase, override_settings
from django.test.client import RequestFactory
from django.urls import reverse
from django.views.generic.base import View
-from django.views.generic.edit import CreateView, FormMixin, ModelFormMixin
+from django.views.generic.edit import (
+ CreateView, DeleteView, DeleteViewCustomDeleteWarning, FormMixin,
+ ModelFormMixin,
+)
from . import views
from .forms import AuthorForm
@@ -426,3 +429,21 @@ class DeleteViewTests(TestCase):
res.context_data['form'].errors['confirm'],
['This field is required.'],
)
+
+ # RemovedInDjango50Warning.
+ def test_delete_with_custom_delete(self):
+ class AuthorDeleteView(DeleteView):
+ model = Author
+
+ def delete(self, request, *args, **kwargs):
+ # Custom logic.
+ pass
+
+ msg = (
+ 'DeleteView uses FormMixin to handle POST requests. As a '
+ 'consequence, any custom deletion logic in '
+ 'AuthorDeleteView.delete() handler should be moved to '
+ 'form_valid().'
+ )
+ with self.assertWarnsMessage(DeleteViewCustomDeleteWarning, msg):
+ AuthorDeleteView()