Esempio n. 1
0
 def test_render_widget_loads_widget_type(self):
     test_widget = TestWidget(context={'is_test_widget': True})
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget')
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         context = self.get_mock_render_to_string_parameter(mock, 'context')
     self.assertTrue(context['is_test_widget'])
Esempio n. 2
0
 def test_render_widget_uses_template_name(self):
     test_widget = TestWidget(template_name='test-widget-template')
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget')
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         template_name = self.get_mock_render_to_string_parameter(
             mock, 'template_name'
         )
     self.assertEqual(template_name, 'test-widget-template')
Esempio n. 3
0
 def test_render_widget_without_get_ctx_data(self):
     """ Test render widget accepts widget types that do not implement
         get_context_data.
     """
     test_widget = TestWidgetNoContextData()
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget')
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         context = self.get_mock_render_to_string_parameter(mock, 'context')
     self.assertEqual(context, {})
Esempio n. 4
0
 def test_render_widget_calls_get_context_data(self):
     """ Test render widget calls get_context_data with the widget
         instance settings.
     """
     test_widget = TestWidget()
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget', {'test': 'value'})
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         context = self.get_mock_render_to_string_parameter(mock, 'context')
     self.assertEqual(context['kwargs'], {'test': 'value'})
Esempio n. 5
0
 def test_render_widget_without_template_name(self):
     """ Test render widget uses a default template when template_name
         is missing from the widget type object
     """
     test_widget = TestWidgetNoTemplateName()
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget')
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         template_name = self.get_mock_render_to_string_parameter(
             mock, 'template_name'
         )
     self.assertEqual(
         template_name, 'dashboard/widget-error.html'
     )
Esempio n. 6
0
 def test_render_widget_widgeterror_exception_includes_error_message(self):
     """ Test that a widget which raises a WidgetError exception will
         display the error message provided in the exception.
     """
     test_widget = TestWidgetRaisesWidgetError()
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget')
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         template_name = self.get_mock_render_to_string_parameter(
             mock, 'template_name'
         )
         context = self.get_mock_render_to_string_parameter(
             mock, 'context'
         )
     self.assertEqual(
         template_name, 'dashboard/widget-error.html'
     )
     self.assertEqual(
         str(context['error']), 'message raised from get_context_data'
     )
Esempio n. 7
0
 def test_render_widget_exception_includes_generic_message(self):
     """ Test that a widget which raises a generic exception will
         display a generic error message, not the content of the
         exception
     """
     test_widget = TestWidgetRaisesException()
     register_widget('test-widget', test_widget)
     widget_instance = MockWidgetInstance('test-widget')
     with patch(self.render_to_string_method) as mock:
         render_widget(widget_instance)
         template_name = self.get_mock_render_to_string_parameter(
             mock, 'template_name'
         )
         context = self.get_mock_render_to_string_parameter(
             mock, 'context'
         )
     self.assertEqual(
         template_name, 'dashboard/widget-error.html'
     )
     self.assertEqual(
         context['error'], 'Widget error. See error logs.'
     )