def test_get_case_by_location(self):
        case = _create_case(case_type=SupplyPointCaseMixin.CASE_TYPE)
        location_id = uuid.uuid4().hex
        case.location_id = location_id
        CaseAccessorSQL.save_case(case)

        fetched_case = CaseAccessorSQL.get_case_by_location(DOMAIN, location_id)
        self.assertEqual(case.id, fetched_case.id)
        traces = _create_case_transactions(case)

        transactions = CaseAccessorSQL.get_transactions_for_case_rebuild(case.case_id)
        self.assertEqual(4, len(transactions))
        self.assertEqual(
            [form_id] + [t.form_id for t in [t for t in traces if t.include]],
            [t.form_id for t in transactions],
        )

    def test_get_case_by_location(self):
        case = _create_case(case_type=SupplyPointCaseMixin.CASE_TYPE)
        location_id = uuid.uuid4().hex
        case.location_id = location_id
        CaseAccessorSQL.save_case(case)

        fetched_case = CaseAccessorSQL.get_case_by_location(DOMAIN, location_id)
        self.assertEqual(case.id, fetched_case.id)

    def test_get_case_ids_in_domain(self):
        case1 = _create_case(case_type='t1')
        case2 = _create_case(case_type='t1')
        case3 = _create_case(case_type='t2')

        case_ids = CaseAccessorSQL.get_case_ids_in_domain(DOMAIN)
        self.assertEqual({case1.case_id, case2.case_id, case3.case_id}, set(case_ids))

        case_ids = CaseAccessorSQL.get_case_ids_in_domain(DOMAIN, 't1')
        self.assertEqual({case1.case_id, case2.case_id}, set(case_ids))

        case2.domain = 'new_domain'
        CaseAccessorSQL.save_case(case2)
Exemplo n.º 3
0
 def get_closed_and_open_by_location_id_and_domain(domain, location_id):
     return CaseAccessorSQL.get_case_by_location(domain, location_id)
Exemplo n.º 4
0
 def get_closed_and_open_by_location_id_and_domain(domain, location_id):
     return CaseAccessorSQL.get_case_by_location(domain, location_id)
Exemplo n.º 5
0
 def get_by_location(cls, location):
     return CaseAccessorSQL.get_case_by_location(location.domain, location.location_id)