def test_completion_rates_for_location(self):
        masaka = Location.objects.create(name="masaka", tree_parent=self.uganda, type=self.city)
        ea = EnumerationArea.objects.create(name="EA2", survey=self.open_survey)
        ea.locations.add(masaka)
        investigator_3 = Investigator.objects.create(name='some_inv_2', mobile_number='123456787', male=True,
                                                     ea=ea)

        household_3 = Household.objects.create(investigator=investigator_3, ea=investigator_3.ea,
                                               survey=self.open_survey)
        HouseholdMember.objects.create(household=household_3, date_of_birth=date(1980, 05, 01))

        with patch.object(BatchCompletionRates, 'percent_completed_households', return_value=self.kampala_city.id):

            completion_rate = BatchHighLevelLocationsCompletionRates(self.batch, [self.kampala_city])
            completions = completion_rate.attributes()
            self.assertEqual(1, len(completions))

            completion_1 = completions[0]
            self.assertEqual(2, completion_1['total_households'])
            self.assertEqual(self.kampala_city.id, completion_1['completed_households_percent'])

            completions.remove(completion_1)

        with patch.object(BatchCompletionRates, 'percent_completed_households', return_value=masaka.id):
            completion_rate = BatchHighLevelLocationsCompletionRates(self.batch, [masaka])

            completions = completion_rate.attributes()
            self.assertEqual(1, len(completions))

            completion_2 = completions[0]
            self.assertEqual(1, completion_2['total_households'])
            self.assertEqual(masaka.id, completion_2['completed_households_percent'])
예제 #2
0
    def test_completion_rates_for_location(self):
        masaka = Location.objects.create(name="masaka",
                                         tree_parent=self.uganda,
                                         type=self.city)
        ea = EnumerationArea.objects.create(name="EA2",
                                            survey=self.open_survey)
        ea.locations.add(masaka)
        investigator_3 = Investigator.objects.create(name='some_inv_2',
                                                     mobile_number='123456787',
                                                     male=True,
                                                     ea=ea)

        household_3 = Household.objects.create(investigator=investigator_3,
                                               ea=investigator_3.ea,
                                               survey=self.open_survey)
        HouseholdMember.objects.create(household=household_3,
                                       date_of_birth=date(1980, 05, 01))

        with patch.object(BatchCompletionRates,
                          'percent_completed_households',
                          return_value=self.kampala_city.id):

            completion_rate = BatchHighLevelLocationsCompletionRates(
                self.batch, [self.kampala_city])
            completions = completion_rate.attributes()
            self.assertEqual(1, len(completions))

            completion_1 = completions[0]
            self.assertEqual(2, completion_1['total_households'])
            self.assertEqual(self.kampala_city.id,
                             completion_1['completed_households_percent'])

            completions.remove(completion_1)

        with patch.object(BatchCompletionRates,
                          'percent_completed_households',
                          return_value=masaka.id):
            completion_rate = BatchHighLevelLocationsCompletionRates(
                self.batch, [masaka])

            completions = completion_rate.attributes()
            self.assertEqual(1, len(completions))

            completion_2 = completions[0]
            self.assertEqual(1, completion_2['total_households'])
            self.assertEqual(masaka.id,
                             completion_2['completed_households_percent'])
예제 #3
0
    def test_completion_rates_for_ea(self):
        masaka = Location.objects.create(name="masaka",
                                         tree_parent=self.uganda,
                                         type=self.city)
        mbarara = Location.objects.create(name="mbarara",
                                          tree_parent=self.uganda,
                                          type=self.city)

        ea = EnumerationArea.objects.create(name="EA2",
                                            survey=self.open_survey)
        another_ea = EnumerationArea.objects.create(name="Another EA2",
                                                    survey=self.open_survey)
        ea.locations.add(masaka)
        ea.locations.add(mbarara)

        investigator_3 = Investigator.objects.create(name='some_inv_2',
                                                     mobile_number='123456787',
                                                     male=True,
                                                     ea=ea)
        another_investigator = Investigator.objects.create(
            name='some_inv_2',
            mobile_number='111111',
            male=True,
            ea=another_ea)

        Household.objects.create(investigator=investigator_3,
                                 ea=investigator_3.ea,
                                 survey=self.open_survey)
        Household.objects.create(investigator=investigator_3,
                                 ea=investigator_3.ea,
                                 survey=self.open_survey)
        Household.objects.create(investigator=another_investigator,
                                 ea=another_ea,
                                 survey=self.open_survey)

        with patch.object(BatchCompletionRates,
                          'percent_completed_households',
                          return_value=ea.id):
            completion_rate = BatchHighLevelLocationsCompletionRates(
                self.batch, [self.kampala_city], ea=ea)
            completions = completion_rate.attributes()

        self.assertEqual(1, len(completions))
        completion_1 = completions[0]
        self.assertEqual(2, completion_1['total_households'])
        self.assertEqual(ea.id, completion_1['completed_households_percent'])
    def test_completion_rates_for_ea(self):
        masaka = Location.objects.create(name="masaka", tree_parent=self.uganda, type=self.city)
        mbarara = Location.objects.create(name="mbarara", tree_parent=self.uganda, type=self.city)

        ea = EnumerationArea.objects.create(name="EA2", survey=self.open_survey)
        another_ea = EnumerationArea.objects.create(name="Another EA2", survey=self.open_survey)
        ea.locations.add(masaka)
        ea.locations.add(mbarara)

        investigator_3 = Investigator.objects.create(name='some_inv_2', mobile_number='123456787', male=True, ea=ea)
        another_investigator = Investigator.objects.create(name='some_inv_2', mobile_number='111111', male=True, ea=another_ea)

        Household.objects.create(investigator=investigator_3, ea=investigator_3.ea, survey=self.open_survey)
        Household.objects.create(investigator=investigator_3, ea=investigator_3.ea, survey=self.open_survey)
        Household.objects.create(investigator=another_investigator, ea=another_ea, survey=self.open_survey)

        with patch.object(BatchCompletionRates, 'percent_completed_households', return_value=ea.id):
            completion_rate = BatchHighLevelLocationsCompletionRates(self.batch, [self.kampala_city], ea=ea)
            completions = completion_rate.attributes()

        self.assertEqual(1, len(completions))
        completion_1 = completions[0]
        self.assertEqual(2, completion_1['total_households'])
        self.assertEqual(ea.id, completion_1['completed_households_percent'])