Exemplo n.º 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'])
Exemplo n.º 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'})
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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']})
Exemplo n.º 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']
     })
Exemplo n.º 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'])
Exemplo n.º 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)
Exemplo n.º 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])
Exemplo n.º 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]})
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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]})
Exemplo n.º 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)
Exemplo n.º 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])
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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')
Exemplo n.º 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')
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 26
0
 def test_init(self):
     r = SimpleDemoReport.as_report()
     c = reportform_factory(r)
     self.assertIn('_format', c.base_fields)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 29
0
 def test_init(self):
     r = SimpleDemoReport.as_report()
     c = reportform_factory(r)
     self.assertIn('_format', c.base_fields)
Exemplo n.º 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'})
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)
Exemplo n.º 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)