def test_clean_global_results_data(self): results = [{"open_ended": False, "set": 0, "unset": 0, "categories": [{"count": 0, "label": "Yes"}, {"count": 0, "label": "No"}], "label": "UG"}, {"open_ended": False, "set": 0, "unset": 0, "categories": [{"count": 0, "label": "Yes"}, {"count": 0, "label": "No"}], "label": "RW"}, {"open_ended": False, "set": 0, "unset": 0, "categories": [{"count": 0, "label": "Yes"}, {"count": 0, "label": "No"}], "label": "MX"}] # no segment self.assertEqual(clean_global_results_data(self.org, results, None), results) # no location in segment self.assertEqual(clean_global_results_data(self.org, results, dict(allo='State')), results) # org not global self.assertEqual(clean_global_results_data(self.org, results, dict(location='State')), results) self.org.set_config('is_global', True) cleaned_results = [{"open_ended": False, "set": 0, "unset": 0, "categories": [{"count": 0, "label": "Yes"}, {"count": 0, "label": "No"}], "boundary": "UG", "label": "Uganda"}, {"open_ended": False, "set": 0, "unset": 0, "categories": [{"count": 0, "label": "Yes"}, {"count": 0, "label": "No"}], "boundary": "RW", "label": "Rwanda"}, {"open_ended": False, "set": 0, "unset": 0, "categories": [{"count": 0, "label": "Yes"}, {"count": 0, "label": "No"}], "boundary": "MX", "label": "Mexico"}] self.assertEqual(clean_global_results_data(self.org, results, dict(location='State')), cleaned_results)
def render_to_response(self, context, **kwargs): segment = self.request.GET.get('segment', None) if segment: segment = json.loads(segment) results = self.object.get_results(segment=segment) results = clean_global_results_data(self.request.org, results, segment) return HttpResponse(json.dumps(results))
def render_to_response(self, context, **kwargs): output_data = [] segment = self.request.GET.get('segment', None) if segment: segment = json.loads(segment) contact_field = self.request.GET.get('contact_field', None) if self.get_object() and contact_field: api_data = self.get_object().get_contact_field_results(contact_field, segment) output_data = self.get_object().organize_categories_data(contact_field, api_data) output_data = clean_global_results_data(self.get_object(), output_data, segment) return HttpResponse(json.dumps(output_data))