Пример #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'])
Пример #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'})
Пример #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)
Пример #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)
Пример #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)
Пример #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']})
Пример #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']
     })
Пример #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'])
Пример #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)
Пример #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])
Пример #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]})
Пример #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)
Пример #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)
Пример #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]})
Пример #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)
Пример #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])
Пример #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)
Пример #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)
Пример #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)
Пример #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')
Пример #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')
Пример #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)
Пример #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)
Пример #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)
Пример #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)
Пример #26
0
 def test_init(self):
     r = SimpleDemoReport.as_report()
     c = reportform_factory(r)
     self.assertIn('_format', c.base_fields)
Пример #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)
Пример #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)
Пример #29
0
 def test_init(self):
     r = SimpleDemoReport.as_report()
     c = reportform_factory(r)
     self.assertIn('_format', c.base_fields)
Пример #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'})
Пример #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)
Пример #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)
Пример #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)
Пример #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)