コード例 #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)