Ejemplo n.º 1
0
    def setUp(self):
        super(TestNikshayTreatmentOutcomeRepeater, self).setUp()

        self.repeater = NikshayTreatmentOutcomeRepeater(
            domain=self.domain, url='case-repeater-url', username='******')
        self.repeater.white_listed_case_types = ['episode']
        self.repeater.save()
Ejemplo n.º 2
0
class TestNikshayTreatmentOutcomeRepeater(ENikshayLocationStructureMixin,
                                          NikshayRepeaterTestBase):
    def setUp(self):
        super(TestNikshayTreatmentOutcomeRepeater, self).setUp()

        self.repeater = NikshayTreatmentOutcomeRepeater(
            domain=self.domain, url='case-repeater-url', username='******')
        self.repeater.white_listed_case_types = ['episode']
        self.repeater.save()

    def test_not_available_for_domain(self):
        self.assertFalse(
            NikshayTreatmentOutcomeRepeater.available_for_domain(self.domain))

    @flag_enabled('NIKSHAY_INTEGRATION')
    def test_available_for_domain(self):
        self.assertTrue(
            NikshayTreatmentOutcomeRepeater.available_for_domain(self.domain))

    def test_trigger_test_submission(self):
        self.phi.metadata['is_test'] = 'yes'
        self.phi.save()
        self.create_case(self.episode)
        self.assign_person_to_location(self.phi.location_id)
        self._create_nikshay_registered_case()
        self.assertEqual(0, len(self.repeat_records().all()))

        update_case(self.domain, self.episode_id, {
            TREATMENT_OUTCOME: "cured",
        })
        self.assertEqual(0, len(self.repeat_records().all()))

    def test_trigger(self):
        # nikshay not enabled
        self.create_case(self.episode)
        self.assign_person_to_location(self.phi.location_id)
        self._create_nikshay_registered_case()
        self.assertEqual(0, len(self.repeat_records().all()))

        # change triggered
        update_case(self.domain, self.episode_id, {
            TREATMENT_OUTCOME: "cured",
        })
        self.assertEqual(1, len(self.repeat_records().all()))

        # treatment outcome updated
        update_case(self.domain, self.episode_id, {
            TREATMENT_OUTCOME: "treatment_complete",
        })
        self.assertEqual(2, len(self.repeat_records().all()))

        # dont trigger for unknown outcome values
        update_case(self.domain, self.episode_id, {
            TREATMENT_OUTCOME: "james_bond",
        })
        self.assertEqual(2, len(self.repeat_records().all()))
Ejemplo n.º 3
0
 def test_available_for_domain(self):
     self.assertTrue(NikshayTreatmentOutcomeRepeater.available_for_domain(self.domain))