示例#1
0
    def test_filter_nested(self):
        search_terms = {'contributors': ['louise']}
        filter_set = ElasticutilsFilterSet(search_fields=self.search_fields,
                                           search_actions=None,
                                           search_terms=search_terms,
                                           mapping_type=self.mapping_type,
                                           queryset=M.query(),
                                           default_action=None)

        query = filter_set.qs
        self.assertEqual(query.count(), 2)
        filters = query.build_search()

        self.assertEqual(filters['filter'], filter_set._get_filter_nested_item('contributors', 'louise'))  # noqa

        search_terms = {'contributors': ['louise', 'florent']}
        filter_set = ElasticutilsFilterSet(search_fields=self.search_fields,
                                           search_actions=None,
                                           search_terms=search_terms,
                                           mapping_type=self.mapping_type,
                                           queryset=M.query(),
                                           default_action=None)

        query = filter_set.qs
        self.assertEqual(query.count(), 1)