summaryrefslogtreecommitdiff
path: root/tests/admin_widgets
diff options
context:
space:
mode:
authordevin13cox <36718613+devin13cox@users.noreply.github.com>2024-04-02 18:00:25 -0700
committerGitHub <noreply@github.com>2024-04-02 22:00:25 -0300
commit8665cf03d79c4b6222514c5943ccf3863a19cf08 (patch)
tree6d818877b856027bbee43b5a9ef25dac4c702b4f /tests/admin_widgets
parent888b9042b3598bab6557c62de82505eec9ea62ed (diff)
Fixed #35330 -- Fixed the update of related widgets when the referenced model is camel case named.
Co-authored-by: Natalia <124304+nessita@users.noreply.github.com>
Diffstat (limited to 'tests/admin_widgets')
-rw-r--r--tests/admin_widgets/tests.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py
index 76a47e4868..4d18849692 100644
--- a/tests/admin_widgets/tests.py
+++ b/tests/admin_widgets/tests.py
@@ -937,6 +937,28 @@ class RelatedFieldWidgetWrapperTests(SimpleTestCase):
# Related item links are present.
self.assertIn("<a ", output)
+ def test_data_model_ref_when_model_name_is_camel_case(self):
+ rel = VideoStream._meta.get_field("release_event").remote_field
+ widget = forms.Select()
+ wrapper = widgets.RelatedFieldWidgetWrapper(widget, rel, widget_admin_site)
+ self.assertIs(wrapper.is_hidden, False)
+ context = wrapper.get_context("release_event", None, {})
+ self.assertEqual(context["model"], "release event")
+ self.assertEqual(context["model_name"], "releaseevent")
+ output = wrapper.render("stream", "value")
+ expected = """
+ <div class="related-widget-wrapper" data-model-ref="releaseevent">
+ <select name="stream">
+ </select>
+ <a class="related-widget-wrapper-link add-related" id="add_id_stream"
+ data-popup="yes" title="Add another release event"
+ href="/admin_widgets/releaseevent/add/?_to_field=album&amp;_popup=1">
+ <img src="/static/admin/img/icon-addlink.svg" alt="" width="20" height="20">
+ </a>
+ </div>
+ """
+ self.assertHTMLEqual(output, expected)
+
@override_settings(ROOT_URLCONF="admin_widgets.urls")
class AdminWidgetSeleniumTestCase(AdminSeleniumTestCase):