def get_cloudcare_session_data(domain_name, form, couch_user): from corehq.apps.hqcase.utils import get_case_id_by_domain_hq_user_id from corehq.apps.app_manager.suite_xml.sections.entries import EntriesHelper datums = EntriesHelper.get_new_case_id_datums_meta(form) session_data = {datum.datum.id: uuid.uuid4().hex for datum in datums} if couch_user.doc_type == 'CommCareUser': # smsforms.app.start_session could pass a CommCareCase try: extra_datums = EntriesHelper.get_extra_case_id_datums(form) except SuiteError as err: _assert = soft_assert(['nhooper_at_dimagi_dot_com'.replace('_at_', '@').replace('_dot_', '.')]) _assert(False, 'Domain "%s": %s' % (domain_name, err)) else: if EntriesHelper.any_usercase_datums(extra_datums): usercase_id = get_case_id_by_domain_hq_user_id(domain_name, couch_user.get_id, USERCASE_TYPE) if usercase_id: session_data[USERCASE_ID] = usercase_id return session_data
def test_get_usercase_id(self): usercase_id = get_case_id_by_domain_hq_user_id(self.domain.name, self.user._id, USERCASE_TYPE) self.assertIsNotNone(usercase_id)