def test_normal_index(self): cp = FormProcessorInterface.create_case_from_generic(GenericCommCareCase( id='parent', name='parent', type='parent', )) FormProcessorInterface.create_case_from_generic(GenericCommCareCase( id='child', name='child', type='child', indices=[GenericCommCareCaseIndex( identifier='parent', referenced_type='parent', referenced_id='parent' )], )) hierarchy = get_case_hierarchy(cp, {}) self.assertEqual(2, len(hierarchy['case_list'])) self.assertEqual(1, len(hierarchy['child_cases']))
def test_recursive_indexes(self): c = FormProcessorInterface.create_case_from_generic(GenericCommCareCase( id='infinite-recursion', name='infinite_recursion', type='bug', indices=[GenericCommCareCaseIndex( identifier='self', referenced_type='bug', referenced_id='infinite-recursion' )], )) # this call used to fail with infinite recursion hierarchy = get_case_hierarchy(c, {}) self.assertEqual(1, len(hierarchy['case_list']))