summaryrefslogtreecommitdiff
path: root/tests/admin_views
diff options
context:
space:
mode:
authorClaude Paroz <claude@2xlibre.net>2017-11-08 01:06:32 +0100
committerTim Graham <timograham@gmail.com>2017-11-07 19:06:32 -0500
commit0cf00769ad11fa5ff0dff585d7f491a80f3e45ef (patch)
tree010c7710d6cca4dc74c4e4cb8f92f8d329410140 /tests/admin_views
parentac6a4eb9f95138628a7eec76bee91eb067af80a9 (diff)
Fixed #28585 -- Calculated admin's change form multipart context variable from forms and formsets
Thanks Tim Graham for the review.
Diffstat (limited to 'tests/admin_views')
-rw-r--r--tests/admin_views/tests.py18
1 files changed, 15 insertions, 3 deletions
diff --git a/tests/admin_views/tests.py b/tests/admin_views/tests.py
index b7c405f271..2a5ab9b55d 100644
--- a/tests/admin_views/tests.py
+++ b/tests/admin_views/tests.py
@@ -56,10 +56,11 @@ from .models import (
UnorderedObject, Villain, Vodcast, Whatsit, Widget, Worker, WorkHour,
)
-
ERROR_MESSAGE = "Please enter the correct username and password \
for a staff account. Note that both fields may be case-sensitive."
+MULTIPART_ENCTYPE = 'enctype="multipart/form-data"'
+
class AdminFieldExtractionMixin:
"""
@@ -3522,6 +3523,13 @@ class AdminInlineFileUploadTest(TestCase):
self.picture = Picture(name="Test Picture", image=filename, gallery=self.gallery)
self.picture.save()
+ def test_form_has_multipart_enctype(self):
+ response = self.client.get(
+ reverse('admin:admin_views_gallery_change', args=(self.gallery.id,))
+ )
+ self.assertIs(response.context['has_file_field'], True)
+ self.assertContains(response, MULTIPART_ENCTYPE)
+
def test_inline_file_upload_edit_validation_error_post(self):
"""
Inline file uploads correctly display prior data (#10002).
@@ -3658,6 +3666,10 @@ class AdminInlineTests(TestCase):
response = self.client.get(collector_url)
self.assertContains(response, 'name="widget_set-0-id"')
+ # No file or image fields, no enctype on the forms
+ self.assertIs(response.context['has_file_field'], False)
+ self.assertNotContains(response, MULTIPART_ENCTYPE)
+
# Now resave that inline
self.post_data['widget_set-INITIAL_FORMS'] = "1"
self.post_data['widget_set-0-id'] = str(widget_id)
@@ -5451,7 +5463,7 @@ class AdminKeepChangeListFiltersTests(TestCase):
# Check the form action.
form_action = re.search(
- '<form enctype="multipart/form-data" action="(.*?)" method="post" id="user_form".*?>',
+ '<form action="(.*?)" method="post" id="user_form".*?>',
force_text(response.content)
)
self.assertURLEqual(form_action.group(1), '?%s' % self.get_preserved_filters_querystring())
@@ -5515,7 +5527,7 @@ class AdminKeepChangeListFiltersTests(TestCase):
# Check the form action.
form_action = re.search(
- '<form enctype="multipart/form-data" action="(.*?)" method="post" id="user_form".*?>',
+ '<form action="(.*?)" method="post" id="user_form".*?>',
force_text(response.content)
)
self.assertURLEqual(form_action.group(1), '?%s' % self.get_preserved_filters_querystring())