summaryrefslogtreecommitdiff
path: root/tests/admin_widgets
diff options
context:
space:
mode:
authorCollin Anderson <cmawebsite@gmail.com>2017-02-20 08:48:03 -0500
committerTim Graham <timograham@gmail.com>2017-02-20 08:48:03 -0500
commitfb7e0e01af5364987de7fc95ae4d66e22130f2bc (patch)
tree11448c2e3125e8384bd3ee28b09e7af34b2e2276 /tests/admin_widgets
parentc743af82cf56a915bf5d5d53a063892394cb75cf (diff)
Fixed #27850 -- Made RelatedFieldWidgetWrapper call render() of the wrapped widget.
Diffstat (limited to 'tests/admin_widgets')
-rw-r--r--tests/admin_widgets/tests.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/admin_widgets/tests.py b/tests/admin_widgets/tests.py
index aaef915ee9..de59c26b22 100644
--- a/tests/admin_widgets/tests.py
+++ b/tests/admin_widgets/tests.py
@@ -596,6 +596,7 @@ class ManyToManyRawIdWidgetTest(TestCase):
)
+@override_settings(ROOT_URLCONF='admin_widgets.urls')
class RelatedFieldWidgetWrapperTests(SimpleTestCase):
def test_no_can_add_related(self):
rel = Individual._meta.get_field('parent').remote_field
@@ -630,6 +631,21 @@ class RelatedFieldWidgetWrapperTests(SimpleTestCase):
self.assertTrue(wrapper.can_change_related)
self.assertFalse(wrapper.can_delete_related)
+ def test_custom_widget_render(self):
+ class CustomWidget(forms.Select):
+ def render(self, *args, **kwargs):
+ return 'custom render output'
+ rel = Album._meta.get_field('band').remote_field
+ widget = CustomWidget()
+ wrapper = widgets.RelatedFieldWidgetWrapper(
+ widget, rel, widget_admin_site,
+ can_add_related=True,
+ can_change_related=True,
+ can_delete_related=True,
+ )
+ output = wrapper.render('name', 'value')
+ self.assertIn('custom render output', output)
+
@override_settings(ROOT_URLCONF='admin_widgets.urls')
class AdminWidgetSeleniumTestCase(AdminSeleniumTestCase):