def test_html_output(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class,))() self.assertEqual(form.fields.keys(), ['date_range', '_report_group_by', 'date', '_format', '_report_list_display']) form.as_p() self.assertEqual(form.fields.keys(), ['date', '_report_group_by', '_format', '_report_list_display'])
def test_get_filters_summary_filterspec(self): r = FilterSpecDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,))() form.cleaned_data = { 'date_range': FilterSpec('2001') } self.assertEqual(form.get_filters_summary(), {u'Date Range': '2001'})
def test_get_filters_filterspec(self): r = FilterSpecDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,))() form.cleaned_data = { 'date_range': FilterSpec('2001') } f = form.get_filters() self.assertSequenceEqual((['2001'], {}), f)
def test_report_groupby(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ), groupby=[ ('date', 'Date'), ])() self.assertIn('_report_group_by', form.base_fields) self.assertIsInstance(form.base_fields['_report_group_by'], forms.ChoiceField)
def get_search_form_class(self): kwargs = { 'order_by': self.config.get_allowed_order_by(), 'filtering': self.config.get_allowed_filters(), 'groupby': self.config.get_allowed_group_by() } return reportform_factory(self.report, bases=(self.report.config_form_class, ), **kwargs)
def test_get_filters_summary_date_range(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class,))() form.cleaned_data = { 'date_range': DateRange(['2000-01-01', '2001-01-01']), 'date': '2000-01-01' } self.assertEqual(form.get_filters_summary(), {u'Date': '2000-01-01', u'Date Range': ['2000-01-01', '2001-01-01']})
def test_get_filters_summary_date_range(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() form.cleaned_data = { 'date_range': DateRange(['2000-01-01', '2001-01-01']), 'date': '2000-01-01' } self.assertEqual(form.get_filters_summary(), { u'Date': '2000-01-01', u'Date Range': ['2000-01-01', '2001-01-01'] })
def test_html_output(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() self.assertEqual(form.fields.keys(), [ 'date_range', '_report_group_by', 'date', '_format', '_report_list_display' ]) form.as_p() self.assertEqual( form.fields.keys(), ['date', '_report_group_by', '_format', '_report_list_display'])
def test_get_filters(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ), filtering=['integer1'])() form.cleaned_data = {'integer1': 1, 'char': ['a', 'b', 'c']} f = form.get_filters() self.assertSequenceEqual(([], {'integer1': 1}), f) form.cleaned_data = {'integer1': [1, 2, 3]} f = form.get_filters() self.assertSequenceEqual(([], {'integer1__in': [1, 2, 3]}), f)
def test_get_filters_date_range(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class,))() form.cleaned_data = { 'date_range': DateRange(['2000-01-01', '2001-01-01']), 'date': '2000-01-01' } f = form.get_filters() self.assertEqual({'date_range__gt': '2000-01-01', 'date_range__lt': '2001-01-01', 'date': '2000-01-01'}, f[1])
def test_get_filters_summary(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() form.cleaned_data = { 'integer1': 1, } self.assertEqual(form.get_filters_summary(), {u'Integer #1': 1}) form.cleaned_data = {'integer1': [1, 2, 3]} form.get_filters() self.assertEqual(form.get_filters_summary(), {u'Integer #1': [1, 2, 3]})
def test_get_report_attributes_extras(self): r = SimpleDemoExtraReport.as_report() form = reportform_factory(r, (r.config_form_class,))() self.assertIn('_extras_data', form.base_fields) form.cleaned_data = { '_report_list_display': 'char', '_extras_data': 'more' } a = form.get_report_attributes() self.assertEqual({'list_display': 'char', 'extras': {'data': 'more'}}, a)
def test_get_report_attributes(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class,))() self.assertIn('_report_list_display', form.base_fields) self.assertIsInstance(form.base_fields['_report_list_display'], ColumnsChoiceField) form.cleaned_data = { '_report_list_display': 'abc', '_report_group_by': 'random', } a = form.get_report_attributes() self.assertEqual({'list_display': 'abc', 'group_by': 'random'}, a)
def test_get_filters_summary(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,))() form.cleaned_data = { 'integer1': 1, } self.assertEqual(form.get_filters_summary(), {u'Integer #1': 1}) form.cleaned_data = { 'integer1': [1, 2, 3] } form.get_filters() self.assertEqual(form.get_filters_summary(), {u'Integer #1': [1, 2, 3]})
def test_clean__report_order_by(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class,))() form.cleaned_data = { '_report_order_by': 'user.first_name', } o = form.clean__report_order_by() self.assertEqual(['user__first_name'], o) form.cleaned_data = { '_report_order_by': 'user.first_name, user.last_name', } o = form.clean__report_order_by() self.assertEqual(['user__first_name', 'user__last_name'], o)
def test_get_filters_date_range(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() form.cleaned_data = { 'date_range': DateRange(['2000-01-01', '2001-01-01']), 'date': '2000-01-01' } f = form.get_filters() self.assertEqual( { 'date_range__gt': '2000-01-01', 'date_range__lt': '2001-01-01', 'date': '2000-01-01' }, f[1])
def test_clean__report_order_by(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() form.cleaned_data = { '_report_order_by': 'user.first_name', } o = form.clean__report_order_by() self.assertEqual(['user__first_name'], o) form.cleaned_data = { '_report_order_by': 'user.first_name, user.last_name', } o = form.clean__report_order_by() self.assertEqual(['user__first_name', 'user__last_name'], o)
def test_get_report_attributes(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() self.assertIn('_report_list_display', form.base_fields) self.assertIsInstance(form.base_fields['_report_list_display'], ColumnsChoiceField) form.cleaned_data = { '_report_list_display': 'abc', '_report_group_by': 'random', } a = form.get_report_attributes() self.assertEqual({'list_display': 'abc', 'group_by': 'random'}, a)
def test_get_filters(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,), filtering=['integer1'])() form.cleaned_data = { 'integer1': 1, 'char': ['a', 'b', 'c'] } f = form.get_filters() self.assertSequenceEqual(([], {'integer1': 1}), f) form.cleaned_data = { 'integer1': [1, 2, 3] } f = form.get_filters() self.assertSequenceEqual(([], {'integer1__in': [1, 2, 3]}), f)
def test_clean__report_group_by(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ), groupby=[ ('date', 'Date'), ])() form.cleaned_data = {'date': '2001-01-01', '_report_group_by': 'date'} self.assertIsNone(form.clean__report_group_by()) form.cleaned_data = { 'date': '2001-01-01', '_report_group_by': 'date,internal' } group, internal_order = form.clean__report_group_by() self.assertEqual(group, 'date') self.assertEqual(internal_order, 'internal')
def test_clean__report_group_by(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,), groupby=[('date', 'Date'), ])() form.cleaned_data = { 'date': '2001-01-01', '_report_group_by': 'date' } self.assertIsNone(form.clean__report_group_by()) form.cleaned_data = { 'date': '2001-01-01', '_report_group_by': 'date,internal' } group, internal_order = form.clean__report_group_by() self.assertEqual(group, 'date') self.assertEqual(internal_order, 'internal')
def test_get_report_attributes_extras(self): r = SimpleDemoExtraReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() self.assertIn('_extras_data', form.base_fields) form.cleaned_data = { '_report_list_display': 'char', '_extras_data': 'more' } a = form.get_report_attributes() self.assertEqual({ 'list_display': 'char', 'extras': { 'data': 'more' } }, a)
def get_search_form_class(self): kwargs = {'order_by': self.config.get_allowed_order_by(), 'filtering': self.config.get_allowed_filters(), 'groupby': self.config.get_allowed_group_by()} return reportform_factory(self.report, bases=(self.report.config_form_class,), **kwargs)
def test_report_groupby_from_base(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class,))() self.assertIn('_report_group_by', form.base_fields) self.assertIsInstance(form.base_fields['_report_group_by'], forms.ChoiceField)
def test_get_lookup_fields(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ), filtering=['integer1'])() f = form.get_lookup_fields() self.assertEqual(['integer1'], f)
def test_init(self): r = SimpleDemoReport.as_report() c = reportform_factory(r) self.assertIn('_format', c.base_fields)
def test_report_groupby_from_base(self): r = SimpleDateReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() self.assertIn('_report_group_by', form.base_fields) self.assertIsInstance(form.base_fields['_report_group_by'], forms.ChoiceField)
def test_get_config_form_class(self): r = SimpleDemoReport.as_report() f = reportform_factory(r, bases=(r.config_form_class, )) self.assertIn('integer1', f.base_fields) self.assertIn('_format', f.base_fields)
def test_get_filters_summary_filterspec(self): r = FilterSpecDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() form.cleaned_data = {'date_range': FilterSpec('2001')} self.assertEqual(form.get_filters_summary(), {u'Date Range': '2001'})
def test_get_lookup_fields(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,), filtering=['integer1'])() f = form.get_lookup_fields() self.assertEqual(['integer1'], f)
def test_report_groupby(self): r = SimpleDemoReport.as_report() form = reportform_factory(r, (r.config_form_class,), groupby=[('date', 'Date'), ])() self.assertIn('_report_group_by', form.base_fields) self.assertIsInstance(form.base_fields['_report_group_by'], forms.ChoiceField)
def test_get_config_form_class(self): r = SimpleDemoReport.as_report() f = reportform_factory(r, bases=(r.config_form_class,)) self.assertIn('integer1', f.base_fields) self.assertIn('_format', f.base_fields)
def test_get_filters_filterspec_dict(self): r = FilterSpecDemoReport.as_report() form = reportform_factory(r, (r.config_form_class, ))() form.cleaned_data = {'date_range': FilterSpec({1: '2001'})} f = form.get_filters() self.assertSequenceEqual(([], {1: '2001'}), f)