Пример #1
0
    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)
Пример #4
0
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()
        )
Пример #9
0
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
Пример #10
0
    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)