def test_that_you_can_update_the_mapping_when_you_upload_the_file(self): user = DashboardUser.objects.create_superuser("*****@*****.**", "secret") current_mapping = LocationToPartnerMapping.get_mapping() self.assertEqual(len(current_mapping), 2312) url = "/import/mapping/" import_page = self.app.get(url, user=user) form = import_page.form form["import_file"] = Upload( self.get_fixture_path("partner_mapping_sample.xlsx")) form.submit() new_mapping = LocationToPartnerMapping.get_mapping() self.assertEqual(len(new_mapping), 8)
def test_that_location_has_implementing_partner(self): locations, records = extract_locations_and_import_records( get_test_output_from_fixture( "arv-2-paediatric-art-patient-report-maul.html" ), LocationToPartnerMapping.get_mapping(), ) assert_that( locations, has_item( all_of( has_property("facility", "St. Michael Kanyike HC III"), has_property("partner", "Unknown"), ) ), ) assert_that( locations, has_item( all_of( has_property("facility", "St. Monica Katende HC III"), has_property("partner", "RHSP"), ) ), )
def test_that_correct_number_of_locations_are_extracted(self): locations, records = extract_locations_and_import_records( get_test_output_from_fixture( "arv-2-paediatric-art-patient-report-maul.html" ), LocationToPartnerMapping.get_mapping(), ) self.assertEqual(len(locations), 30)
def _dhis2_import(bi_monthly_cycle): periods = parse_periods_from_bi_monthly_cycle(bi_monthly_cycle) reports = Dhis2StandardReport.objects.all() partner_mapping = LocationToPartnerMapping.get_mapping() results = fetch_reports(reports, periods) data_import = HtmlDataImport(results, bi_monthly_cycle).load(partner_mapping) cycle = data_import.save() update_checks.apply_async(args=[[cycle.id]], priority=1)
def test_that_location_has_warehouse(self): locations, records = extract_locations_and_import_records( get_test_output_from_fixture( "arv-2-paediatric-art-patient-report-maul.html" ), LocationToPartnerMapping.get_mapping(), ) assert_that( locations, has_item( all_of( has_property("facility", "TASO Mulago CLINIC"), has_property("warehouse", "MAUL"), ) ), )
def setUp(self): self.test_location = Location( facility="AAR Acacia Clinic HC II", district="Kampala District", partner="TASO", status="reporting", warehouse=MAUL, ) self.data_import = HtmlDataImport( get_test_output_from_fixture( "arv-2-paediatric-art-patient-report-maul.html" ), None, ).load( LocationToPartnerMapping.get_mapping() )
def setUp(self): self.test_location = Location( facility="AAR Acacia Clinic HC II", district="Kampala District", partner="UHMG", status="reporting", warehouse=JMS, ) fixture = get_test_output_from_fixture( "arv-2-adult-pmtct-art-patient-report-all-regimen-jms.html", report_type=ADULT_PATIENT_REPORT, warehouse=JMS, ) self.data_import = HtmlDataImport(fixture, None).load( LocationToPartnerMapping.get_mapping() )
def setUp(self): self.test_location = Location( facility="Health Initiative Association Uganda", district="Buikwe District", status="reporting", partner="PHS", warehouse=MAUL, ) self.data_import = HtmlDataImport( get_test_output_from_fixture( "arv-0-consumption-data-report-maul.html", report_type=CONSUMPTION_REPORT, ), None, ).load( LocationToPartnerMapping.get_mapping() )
def download_mapping(request): excel_data = [["Name", "IP"]] for location, partner in LocationToPartnerMapping.get_mapping().items(): excel_data.append([location, partner]) wb = Workbook() ws = wb.active for line in excel_data: ws.append(line) response = HttpResponse( save_virtual_workbook(wb), content_type= "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", ) response[ "Content-Disposition"] = "attachment; filename=partner_mapping.xlsx" return response
def test_full_html_import(self): fixture = get_test_output_from_fixture( "arv-0-consumption-data-report-maul.html", report_type=CONSUMPTION_REPORT) fixture.extend( get_test_output_from_fixture( "arv-0-consumption-data-report-maul.html", report_type=CONSUMPTION_REPORT, )) report = HtmlDataImport(fixture, "May Jun").load( LocationToPartnerMapping.get_mapping()) test_cycle = "Jul - Aug 2015" report.cycle = test_cycle self.assertEqual(len(report.locs), 30) entries = LogEntry.objects.all() self.assertEqual(len(entries), 0) calculate_scores_for_checks_in_cycle(report) self.assertEqual(len(Score.objects.filter(cycle=test_cycle)), 30) self.assertEqual( Score.objects.filter( cycle=test_cycle)[0].data["WAREHOUSE FULFILMENT"], { u"abc3tc-paed": u"NOT_REPORTING", u"efv200-paed": u"NOT_REPORTING", u"tdf3tcefv-adult": u"NOT_REPORTING", }, ) self.assertEqual( len(AdultPatientsRecord.objects.filter(cycle=test_cycle)), 0) self.assertEqual( len(PAEDPatientsRecord.objects.filter(cycle=test_cycle)), 0) self.assertEqual(len(Consumption.objects.filter(cycle=test_cycle)), 25) self.assertEqual( len(MultipleOrderFacility.objects.filter(cycle=test_cycle)), 1) entries = LogEntry.objects.all() self.assertEqual(len(entries), 1)