From fb7e0e01af5364987de7fc95ae4d66e22130f2bc Mon Sep 17 00:00:00 2001 From: Collin Anderson Date: Mon, 20 Feb 2017 08:48:03 -0500 Subject: Fixed #27850 -- Made RelatedFieldWidgetWrapper call render() of the wrapped widget. --- tests/admin_widgets/tests.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'tests') 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): -- cgit v1.3