コード例 #1
0
 def test_unregister(self):
     # unregister a field that we know exists
     field_registry.unregister('__balance__')
     self.assertNotIn('__balance__',
                      field_registry.get_all_report_fields_names())
     # bring it back again as later tests using it would fail
     field_registry.register(BalanceReportField)
コード例 #2
0
    def test_joined_per_day(self):
        field_registry.register(SlickReportField.create(Count, 'id', 'count__id'))
        report_generator = ReportGenerator(report_model=UserJoined,
                                           date_field='date_joined',
                                           group_by='date_joined',
                                           start_date=datetime.date(2020, 1, 1),
                                           end_date=datetime.date(2020, 1, 10),
                                           columns=['date_joined', 'count__id'],
                                           )

        data = report_generator.get_report_data()
        self.assertEqual(len(data), 3)
        self.assertEqual(data[0]['count__id'], 1)
        self.assertEqual(data[1]['count__id'], 1)
        self.assertEqual(data[2]['count__id'], 2)
コード例 #3
0
    def test_many_to_many_group_by(self):
        field_registry.register(SlickReportField.create(Count, 'tax__name', 'tax__count'))

        report_generator = ReportGenerator(report_model=ComplexSales,
                                           date_field='doc_date',
                                           group_by='tax__name',
                                           columns=['tax__name', 'tax__count'],
                                           )
        data = report_generator.get_report_data()
        self.assertEqual(len(data), 3)
        self.assertEqual(data[0]['tax__name'], 'State')
        self.assertEqual(data[0]['tax__count'], 3)
        self.assertEqual(data[1]['tax__name'], 'Vat reduced')
        self.assertEqual(data[1]['tax__count'], 2)
        self.assertEqual(data[2]['tax__name'], 'Vat full')
        self.assertEqual(data[2]['tax__count'], 1)
コード例 #4
0
        def register():
            class ReportFieldWDuplicatedName(BaseReportField):
                name = '__total__'

            field_registry.register(ReportFieldWDuplicatedName)
コード例 #5
0
        def register():
            class ReportFieldWDuplicatedName(BaseReportField):
                name = '__total_field__'
                calculation_field = 'field'

            field_registry.register(ReportFieldWDuplicatedName)