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_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)
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'])
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))])
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_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)
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)
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_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_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)
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_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_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_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_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)
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_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)