def test_build_search_query_with_empty_category(self): query = "eu gene" multi_match_fields = [1,2,3] category = "" request = testing.DummyRequest() request.context = testing.DummyResource() self.assertEqual(build_es_search_query(query, multi_match_fields), build_search_query(query, multi_match_fields, category, self.category_filters, request))
def test_build_search_query_with_no_filters(self): query = "eu gene" multi_match_fields = [1,2,3] category = "locus" request = testing.DummyRequest() request.context = testing.DummyResource() self.assertEqual({ 'filtered': { 'query': build_es_search_query(query, multi_match_fields), 'filter': { 'bool': { 'must': [{'term': {'category': category}}] } } } }, build_search_query(query, multi_match_fields, category, self.category_filters, request))
def test_build_search_query_with_filters(self): query = "eu gene" multi_match_fields = [1,2,3] category = "locus" request = testing.DummyRequest() request.context = testing.DummyResource() request.params['feature type'] = 'type_1' item = self.category_filters[category][0] self.assertEqual({ 'filtered': { 'query': build_es_search_query(query, multi_match_fields), 'filter': { 'bool': { 'must': [{'term': {'category': category}}, {'term': {(item[1]+".raw"): request.params.get(item[0])}}] } } } }, build_search_query(query, multi_match_fields, category, self.category_filters, request))