def test_get_form_details_for_app_and_xmlns_no_data(self): self.assertEqual([], get_form_details_for_app_and_xmlns('missing', self.app.id, self.f1_xmlns)) self.assertEqual([], get_form_details_for_app_and_xmlns(self.domain, 'missing', self.f1_xmlns)) self.assertEqual([], get_form_details_for_app_and_xmlns(self.domain, self.app.id, 'missing')) self.assertEqual( [], get_form_details_for_app_and_xmlns(self.domain, self.app.id, self.f1_xmlns, deleted=True) )
def test_get_form_details_for_app_and_xmlns_no_data(self): self.assertEqual([], get_form_details_for_app_and_xmlns('missing', self.app.id, self.f1_xmlns)) self.assertEqual([], get_form_details_for_app_and_xmlns(self.domain, 'missing', self.f1_xmlns)) self.assertEqual([], get_form_details_for_app_and_xmlns(self.domain, self.app.id, 'missing')) self.assertEqual( [], get_form_details_for_app_and_xmlns(self.domain, self.app.id, self.f1_xmlns, deleted=True) )
def get_filtered_data_for_parsed_params(domain, parsed_params): # this code path has multiple forks: # 0. if status isn't set (which cory doesn't think is possible) it defaults to filtering by # status "active". otherwise it will set status to be "active" or "deleted" depending # on what's passed in. # 1. if status is set, but nothing else is, it will return all forms in apps of that status # 2. if status and app_id are set, but nothing else, it will return all forms in that app # 3. if status and app_id and module_id are set, it will return all forms in that module if # the module is valid, otherwise it falls back to the app # 4. if status, app_id, module_id, and xmlns are set (which cory doesn't think is possible) # it returns that form. deleted = parsed_params.status == PARAM_VALUE_STATUS_DELETED _assert = soft_assert(to='@'.join(['czue', 'dimagi.com'])) if parsed_params.module is not None and parsed_params.get_module_int() is None: # todo: remove anytime in 2016 _assert(False, "module set but not a valid number!") return get_form_details_for_app(domain, parsed_params.app_id, deleted=deleted) elif parsed_params.most_granular_filter == 'xmlns': # todo: remove anytime in 2016 _assert(False, "got to form ID even though this shouldn't be possible") return get_form_details_for_app_and_xmlns( domain, parsed_params.app_id, parsed_params.xmlns, deleted=deleted) elif parsed_params.most_granular_filter == 'module': return get_form_details_for_app_and_module( domain, parsed_params.app_id, parsed_params.get_module_int(), deleted=deleted ) elif parsed_params.most_granular_filter == 'app_id': return get_form_details_for_app(domain, parsed_params.app_id, deleted=deleted) elif parsed_params.most_granular_filter == 'status': return get_all_form_details(domain, deleted=deleted) else: # todo: remove anytime in 2016 _assert(False, 'most granular filter was a surprising value ({}).'.format( parsed_params.most_granular_filter)) return get_all_form_details(domain)
def _get_filtered_data(self, filter_results): """ Returns the raw form data based on the current filter selection. """ if not filter_results: if self._application_forms: return get_all_form_details(self.domain) else: return [] parsed_params = FormsByApplicationFilterParams(filter_results) if parsed_params.xmlns: return get_form_details_for_app_and_xmlns( self.domain, parsed_params.app_id, parsed_params.xmlns, deleted=parsed_params.status == PARAM_VALUE_STATUS_DELETED, ) else: if not self._application_forms: return [] return self.get_filtered_data_for_parsed_params( self.domain, parsed_params)
def _get_filtered_data(self, filter_results): """ Returns the raw form data based on the current filter selection. """ if not filter_results: if self._application_forms: return get_all_form_details(self.domain) else: return [] parsed_params = FormsByApplicationFilterParams(filter_results) if parsed_params.xmlns: return get_form_details_for_app_and_xmlns( self.domain, parsed_params.app_id, parsed_params.xmlns, deleted=parsed_params.status == PARAM_VALUE_STATUS_DELETED, ) else: if not self._application_forms: return [] return self.get_filtered_data_for_parsed_params( self.domain, parsed_params )
def test_get_form_details_for_app_and_xmlns(self): for i in range(2): [details] = get_form_details_for_app_and_xmlns(self.domain, self.app.id, self.xmlnses[i]) self._assert_form_details_match(i, details)
def test_get_form_details_for_app_and_xmlns(self): for i in range(2): [details] = get_form_details_for_app_and_xmlns(self.domain, self.app.id, self.xmlnses[i]) self._assert_form_details_match(i, details)