Пример #1
0
    def test_prescription_voucher_alert_recipients(self):
        located_in_mehsana.clear(self.phi)
        self.dto.site_code = LOCATION_SITE_CODE_MEHSANA
        self.dto.save()
        self.assign_person_to_location(self.phi.location_id)

        prescription = self.create_prescription_case()
        voucher = self.create_voucher_case(prescription.case_id)

        user = CommCareUser.create(self.domain, 'mobile', 'password', location=self.phi)

        # No user case created yet
        result = prescription_voucher_alert_recipients(
            None,
            CaseReminder(domain=self.domain, case_id=voucher.case_id)
        )
        self.assertTrue(isinstance(result, CommCareCaseSQL))
        self.assertEqual(result.case_id, self.person_id)

        # Create user case
        with create_user_case(user) as user_case:
            result = prescription_voucher_alert_recipients(
                None,
                CaseReminder(domain=self.domain, case_id=voucher.case_id)
            )
            self.assertTrue(isinstance(result, list))
            self.assertEqual(
                [case.case_id for case in result],
                [self.person_id, user_case.case_id]
            )

            # Test location outside Mehsana
            located_in_mehsana.clear(self.phi)
            self.dto.site_code = 'dto-other'
            self.dto.save()

            result = prescription_voucher_alert_recipients(
                None,
                CaseReminder(domain=self.domain, case_id=voucher.case_id)
            )
            self.assertTrue(isinstance(result, CommCareCaseSQL))
            self.assertEqual(result.case_id, self.person_id)
Пример #2
0
    def test_beneficiary_registration_recipients(self):
        located_in_mehsana.clear(self.phi)
        self.dto.site_code = LOCATION_SITE_CODE_MEHSANA
        self.dto.save()
        self.assign_person_to_location(self.phi.location_id)

        update_case(self.domain,
                    self.person_id,
                    case_properties={'fo': self.pcc.location_id})
        user = CommCareUser.create(self.domain,
                                   'mobile',
                                   'password',
                                   location=self.pcc)

        # No user case created yet
        result = beneficiary_registration_recipients(
            None, CaseReminder(domain=self.domain, case_id=self.person_id))
        self.assertTrue(isinstance(result, CommCareCaseSQL))
        self.assertEqual(result.case_id, self.person_id)

        # Create user case
        with self.create_user_case(user) as user_case:
            result = beneficiary_registration_recipients(
                None, CaseReminder(domain=self.domain, case_id=self.person_id))
            self.assertTrue(isinstance(result, list))
            self.assertEqual([case.case_id for case in result],
                             [self.person_id, user_case.case_id])

            # Test location outside Mehsana
            located_in_mehsana.clear(self.phi)
            self.dto.site_code = 'dto-other'
            self.dto.save()

            result = beneficiary_registration_recipients(
                None, CaseReminder(domain=self.domain, case_id=self.person_id))
            self.assertTrue(isinstance(result, CommCareCaseSQL))
            self.assertEqual(result.case_id, self.person_id)