Beispiel #1
0
 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'])
Beispiel #2
0
 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'})
Beispiel #3
0
 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)
Beispiel #4
0
 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)
Beispiel #5
0
 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)
Beispiel #6
0
 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']})
Beispiel #7
0
 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']
     })
Beispiel #8
0
 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'])
Beispiel #9
0
    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)
Beispiel #10
0
 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])
Beispiel #11
0
    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]})
Beispiel #12
0
    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)
Beispiel #13
0
    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)
Beispiel #14
0
    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]})
Beispiel #15
0
    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)
Beispiel #16
0
 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])
Beispiel #17
0
    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)
Beispiel #18
0
    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)
Beispiel #19
0
    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)
Beispiel #20
0
    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')
Beispiel #21
0
    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')
Beispiel #22
0
    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)
Beispiel #23
0
 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)
Beispiel #24
0
 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)
Beispiel #25
0
 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)
Beispiel #26
0
 def test_init(self):
     r = SimpleDemoReport.as_report()
     c = reportform_factory(r)
     self.assertIn('_format', c.base_fields)
Beispiel #27
0
 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)
Beispiel #28
0
 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)
Beispiel #29
0
 def test_init(self):
     r = SimpleDemoReport.as_report()
     c = reportform_factory(r)
     self.assertIn('_format', c.base_fields)
Beispiel #30
0
 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'})
Beispiel #31
0
 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)
Beispiel #32
0
 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)
Beispiel #33
0
 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)
Beispiel #34
0
 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)