示例#1
0
    def test_to_xslx(self):
        rep = reports.BaseReport()

        def to_table(self):
            return [
                [1, "http://www.example.com/" + "a" * 255,
                 timezone.now(), timezone.now().date()],
                [2, {
                    'foo': 'bar'
                }],
            ]

        rep.to_table = to_table
        xls = rep.to_xlsx()
        assert isinstance(xls, io.BytesIO)
        assert xls.tell() == 0
示例#2
0
 def test_default_detail_value_format_iterable(self):
     assert reports.BaseReport().default_detail_value_format([1, 2]) == "1, 2"
示例#3
0
 def test_default_detail_value_format_datetime_range_naive(self):
     dt1 = timezone.datetime(2019, 1, 2, 2, 0)
     dt2 = timezone.datetime(2019, 1, 3, 2, 0)
     assert reports.BaseReport().default_detail_value_format([dt1, dt2]) == "02 Jan 2019 - 03 Jan 2019"
示例#4
0
 def test_default_detail_value_format_datetime_range_utc(self):
     dt1 = timezone.datetime(2019, 1, 2, 2, 0, tzinfo=timezone.utc)
     dt2 = timezone.datetime(2019, 1, 3, 2, 0, tzinfo=timezone.utc)
     assert reports.BaseReport().default_detail_value_format([dt1, dt2]) == "01 Jan 2019 - 02 Jan 2019"
示例#5
0
 def test_default_detail_value_format_datetime_naive(self):
     dt = timezone.datetime(2019, 1, 2, 2, 0)
     assert reports.BaseReport().default_detail_value_format(dt) == "02 Jan 2019"
示例#6
0
 def test_get_queryset(self):
     """get_queryset should return null for BaseReport"""
     assert reports.BaseReport().get_queryset() is None
示例#7
0
 def test_to_csv(self):
     rep = reports.BaseReport()
     rep.to_table = lambda x: [[1]]
     csv = rep.to_csv()
     assert isinstance(csv, io.StringIO)
     assert csv.tell() == 0
示例#8
0
 def test_to_html(self):
     assert 'class="container-fluid"' in reports.BaseReport().to_html()
示例#9
0
 def test_make_plain_url(self):
     Site.objects.update(domain="example.com")
     rep = reports.BaseReport()
     rep.report_format = "csv"
     url = rep.make_url("/foo/bar", text="foo", title="bar")
     assert url == 'http://example.com/foo/bar'
示例#10
0
 def test_make_html_url(self):
     Site.objects.update(domain="example.com")
     rep = reports.BaseReport()
     rep.report_format = "html"
     url = rep.make_url("foo/bar", text="foo", title="bar")
     assert url == '<a href="http://example.com/foo/bar" title="bar">foo</a>'
示例#11
0
 def test_html_property(self):
     """If report.html is truthy, report.plain should be False"""
     rep = reports.BaseReport()
     rep.report_format = "html"
     assert rep.plain is False
     assert rep.html is True
示例#12
0
 def test_get_report_url(self):
     Site.objects.update(domain="example.com")
     url = reports.BaseReport().get_report_url()
     assert url == 'http://example.com/reports/?opts=%7B%7D'
示例#13
0
 def test_get_filename(self):
     """By default filename is qatrack-report.ftype"""
     assert reports.BaseReport().get_filename("pdf") == "qatrack-report.pdf"
示例#14
0
 def test_get_template(self):
     """By default retrieve html report template"""
     t = reports.BaseReport().get_template()
     assert t.template.name == "reports/html_report.html"
示例#15
0
 def test_get_filter_form_null(self):
     """get_filter_form should return null for BaseReport"""
     assert reports.BaseReport().get_filter_form() is None
示例#16
0
 def test_default_detail_value_format_integer(self):
     assert reports.BaseReport().default_detail_value_format(1) == "1"
示例#17
0
 def test_get_report_details_no_filter_set(self):
     assert reports.BaseReport().get_report_details() == []
示例#18
0
 def test_default_detail_value_format_none(self):
     rep = reports.BaseReport()
     rep.report_format = "html"
     assert rep.default_detail_value_format(None) == "<em>No Filter</em>"
示例#19
0
 def test_to_pdf(self, chrometopdf):
     reports.BaseReport().to_pdf()
     assert 'class="container-fluid"' in chrometopdf.call_args[0][0]
示例#20
0
 def test_default_detail_value_format_str(self):
     assert reports.BaseReport().default_detail_value_format("foo") == "foo"
示例#21
0
 def test_default_detail_value_format_datetime_utc(self):
     dt = timezone.datetime(2019, 1, 2, 2, 0, tzinfo=timezone.utc)
     assert reports.BaseReport().default_detail_value_format(dt) == "01 Jan 2019"
示例#22
0
 def test_base_filter_form_valid(self):
     assert reports.BaseReport().filter_form_valid(None)