Exemplo 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'])
Exemplo 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')
Exemplo 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, {})
Exemplo 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'})
Exemplo 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'
     )
Exemplo 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'
     )
Exemplo n.º 7
0
 def setUp(self):
     """ Register a number of widget types we can use for
         out tests
     """
     register_widget('test-widget-1', TestWidget(
         ['file.js', 'app/file.js'],
         ['file.css', 'app/file.css']
     ))
     register_widget('test-widget-2', TestWidget(
         ['some.js', 'file.js', 'app2/file.js'],
         ['some.css', 'file.css', 'app2/file.css']
     ))
     register_widget('test-widget-3', TestWidget())
     register_widget('test-widget-4', TestWidget())
Exemplo n.º 8
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.'
     )
Exemplo n.º 9
0
from dashboard.widget_pool import register_widget
from hid.tabs.view_and_edit_table import ViewAndEditTableTab
from hid.widgets.term_count_chart import TermCountChartWidget
from hid.widgets.table import TableWidget
from tabbed_page.tab_pool import register_tab


register_tab('view-and-edit-table', ViewAndEditTableTab())
register_widget('term-count-chart', TermCountChartWidget())
register_widget('table-widget', TableWidget())
Exemplo n.º 10
0
 def test_registering_twice_overrides_existing_widget(self):
     test_widget = TestWidget()
     register_widget('test-widget', test_widget)
     test_widget_2 = TestWidget()
     register_widget('test-widget', test_widget_2)
     self.assertEqual(get_widget('test-widget'), test_widget_2)
Exemplo n.º 11
0
 def test_widget_is_registered(self):
     test_widget = TestWidget()
     register_widget('test-widget', test_widget)
     self.assertEqual(get_widget('test-widget'), test_widget)