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_render_to_response_with_groupby(self):
     report = SimpleDateReport.as_report()
     renderer = report.get_renderer_for_format('html')
     self.assertIsInstance(renderer, BaseHtmlRender)
     request = get_fake_request()
     r = renderer.render_to_response(request)
     self.assertIsInstance(r, HttpResponse)
Exemplo n.º 3
0
 def test_render_to_response_with_groupby(self):
     report = SimpleDateReport.as_report()
     renderer = report.get_renderer_for_format('html')
     self.assertIsInstance(renderer, BaseHtmlRender)
     request = get_fake_request()
     r = renderer.render_to_response(request)
     self.assertIsInstance(r, HttpResponse)
Exemplo n.º 4
0
 def test_keys(self):
     G(SimpleDateModel,
       char='abc',
       date=datetime.date.today(),
       date_range=datetime.date.today())
     r = SimpleDateReport.as_report()
     g = BaseGrouper(r, 'char', 'Groups')
     self.assertEqual(g.keys(), [u'abc'])
Exemplo n.º 5
0
 def test_items_callable(self):
     G(SimpleDateModel,
       char='abc',
       date=datetime.date.today(),
       date_range=datetime.date.today())
     r = SimpleDateReport.as_report()
     g = BaseGrouper(r, fake_callable, 'Groups')
     self.assertEqual(list(g.items()), [(u'cba', list(r))])
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_groups(self):
        r = SimpleDemoReport.as_report()

        with self.assertRaises(ImproperlyConfigured):
            r.get_groups()

        G(SimpleDateModel, char='abc', date=datetime.date.today(), date_range=datetime.date.today())
        r = SimpleDateReport.as_report(datasource=SimpleDateModelSource.as_datasource())
        g = r.get_groups()
        self.assertEqual(len(g), 1)
Exemplo n.º 8
0
    def test_items_basestring(self):
        G(SimpleDateModel, char='abc', date=datetime.date.today(), date_range=datetime.date.today())
        r = SimpleDateReport.as_report()
        g = BaseGrouper(r, 'char', 'Character')
        self.assertEqual(list(g.items()), [(u'abc', list(r))])
        self.assertTrue(g._processed)

        # call again to ensure _processed param handled properly and no error
        g._process()
        self.assertTrue(g._processed)
Exemplo n.º 9
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.º 10
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.º 11
0
    def test_items_sorted(self):
        G(SimpleDateModel, char='cba', date=datetime.date.today(), date_range=datetime.date.today())
        G(SimpleDateModel, char='bac', date=datetime.date.today(), date_range=datetime.date.today())
        G(SimpleDateModel, char='abc', date=datetime.date.today(), date_range=datetime.date.today())
        r = SimpleDateReport.as_report()
        g = BaseGrouper(r, 'char', 'Groups')
        expected = [(u'abc', [r[2]]),
                    (u'bac', [r[1]]),
                    (u'cba', [r[0]])]

        self.assertEqual(list(g.items()), expected)
Exemplo n.º 12
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.º 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_items_basestring(self):
        G(SimpleDateModel,
          char='abc',
          date=datetime.date.today(),
          date_range=datetime.date.today())
        r = SimpleDateReport.as_report()
        g = BaseGrouper(r, 'char', 'Character')
        self.assertEqual(list(g.items()), [(u'abc', list(r))])
        self.assertTrue(g._processed)

        # call again to ensure _processed param handled properly and no error
        g._process()
        self.assertTrue(g._processed)
Exemplo n.º 15
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.º 16
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.º 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_groups(self):
        r = SimpleDemoReport.as_report()

        with self.assertRaises(ImproperlyConfigured):
            r.get_groups()

        G(SimpleDateModel,
          char='abc',
          date=datetime.date.today(),
          date_range=datetime.date.today())
        r = SimpleDateReport.as_report(
            datasource=SimpleDateModelSource.as_datasource())
        g = r.get_groups()
        self.assertEqual(len(g), 1)
Exemplo n.º 20
0
    def test_items_sorted(self):
        G(SimpleDateModel,
          char='cba',
          date=datetime.date.today(),
          date_range=datetime.date.today())
        G(SimpleDateModel,
          char='bac',
          date=datetime.date.today(),
          date_range=datetime.date.today())
        G(SimpleDateModel,
          char='abc',
          date=datetime.date.today(),
          date_range=datetime.date.today())
        r = SimpleDateReport.as_report()
        g = BaseGrouper(r, 'char', 'Groups')
        expected = [(u'abc', [r[2]]), (u'bac', [r[1]]), (u'cba', [r[0]])]

        self.assertEqual(list(g.items()), expected)
Exemplo n.º 21
0
 def test_keys(self):
     G(SimpleDateModel, char='abc', date=datetime.date.today(), date_range=datetime.date.today())
     r = SimpleDateReport.as_report()
     g = BaseGrouper(r, 'char', 'Groups')
     self.assertEqual(g.keys(), [u'abc'])
Exemplo n.º 22
0
 def test_items_callable(self):
     G(SimpleDateModel, char='abc', date=datetime.date.today(), date_range=datetime.date.today())
     r = SimpleDateReport.as_report()
     g = BaseGrouper(r, fake_callable, 'Groups')
     self.assertEqual(list(g.items()), [(u'cba', list(r))])
Exemplo n.º 23
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.º 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)