def test_get_utc_freq(self): freq = Frequency.objects.create(name="freq", window_start=0, window_end=0) freqs = qc.TestListInstanceSummaryReport( ).get_unit_test_collection__frequency_details([freq, 'null']) assert freqs == ('Frequencies', 'freq, Ad Hoc')
def test_to_table(self): site = USite.objects.create(name="site") unit = utils.create_unit(site=site) utc = utils.create_unit_test_collection(unit=unit) utils.create_test_list_instance(unit_test_collection=utc) unit2 = utils.create_unit(site=None) utc2 = utils.create_unit_test_collection(unit=unit2) utils.create_test_list_instance(unit_test_collection=utc2) rep = qc.TestListInstanceSummaryReport() rep.report_format = "csv" context = rep.get_context() table = rep.to_table(context) header_row = table.index([ 'Site', 'Unit', 'Test list', 'Due Date', 'Work Completed', 'Pass/Fail Status', 'Link', ]) # should be two tlis after header assert len(table[header_row + 1:]) == 2
def test_get_work_completed_plain(self): rep = qc.TestListInstanceSummaryReport() rep.report_format = "csv" tz = pytz.timezone("America/Toronto") work_completed = tz.localize(timezone.datetime(2019, 1, 1, 12)) tli = utils.create_test_list_instance(work_completed=work_completed) wc = rep.get_work_completed(tli) assert "01 Jan 2019" in wc assert "href" not in wc
def test_filter_form_valid(self): """If queryset.count() > MAX_TLIS then filter_form should get an error added""" rep = qc.TestListInstanceSummaryReport() rep.MAX_TLIS = -1 ff = rep.get_filter_form() resp = rep.filter_form_valid(ff) assert resp is False assert '__all__' in ff.errors and "Please reduce" in ff.errors[ '__all__'][0]
def test_get_tlis_for_site(self): site = USite.objects.create(name="site") unit = utils.create_unit(site=site) utc = utils.create_unit_test_collection(unit=unit) tli = utils.create_test_list_instance(unit_test_collection=utc) unit2 = utils.create_unit(site=None) utc2 = utils.create_unit_test_collection(unit=unit2) utils.create_test_list_instance(unit_test_collection=utc2) qs = TestListInstance.objects.all() tlis = qc.TestListInstanceSummaryReport().get_tlis_for_site(qs, site) assert list([x.pk for x in tlis]) == [tli.pk]
def test_root_include_sig(self): base_opts = {'include_signature': False} report = qc.TestListInstanceSummaryReport(base_opts=base_opts) res = forms.serialize_report(report) assert res['root-include_signature'] == ['checkbox', False]
def test_visible_to(self): g = Group.objects.create(name="group") base_opts = {'visible_to': Group.objects.all()} report = qc.TestListInstanceSummaryReport(base_opts=base_opts) res = forms.serialize_report(report) assert res['root-visible_to'] == ['select', [g.pk]]
def test_daterange(self): report = qc.TestListInstanceSummaryReport(report_opts={'work_completed': ["1 Jan 2019", "2 Jan 2019"]}) res = forms.serialize_report(report) assert res['work_completed'] == ['text', '01 Jan 2019 - 02 Jan 2019']
def setUp(self): self.report = qc.TestListInstanceSummaryReport()
def test_get_pass_fail_plain(self): rep = qc.TestListInstanceSummaryReport() rep.report_format = "csv" tli = utils.create_test_list_instance() pf = rep.get_pass_fail_status(tli) assert pf == '' # no test instances, just want to make sure no html tags in status for plain text report
def test_get_pass_fail_html(self): rep = qc.TestListInstanceSummaryReport() rep.report_format = "html" tli = utils.create_test_list_instance() pf = rep.get_pass_fail_status(tli) assert "<span" in pf
def test_get_utc_site(self): site = USite.objects.create(name="site") sites = qc.TestListInstanceSummaryReport( ).get_unit_test_collection__unit__site_details([site, 'null']) assert sites == ('Site(s)', 'site, Other')
def test_get_filename(self): assert qc.TestListInstanceSummaryReport().get_filename( 'pdf') == 'test-list-instance-summary.pdf'
def test_get_queryset(self): assert qc.TestListInstanceSummaryReport().get_queryset( ).model._meta.model_name == "testlistinstance"