diff options
| author | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-11-09 09:03:40 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-11-09 09:04:12 +0100 |
| commit | 45de30dc693fcd63d33816a85fb02abd5f7a10b4 (patch) | |
| tree | 773d0e21d4b2c771f7c5c883d6801ebfc7ae4049 /tests | |
| parent | b7b3bbc8356b8365f3ab8ed9c8d863b47c18a3d4 (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.py | 23 |
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() |
