Exemplo n.º 1
0
    def test_query_filters_datetimefield(self):
        request = self.request_factory.get('/api/bar')
        bvs = BarViewSet()
        request.query_params = QueryDict(
            urlencode({'created__year': date.today().year}))
        bvs.request = request
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 4)

        request.query_params = QueryDict(
            urlencode({
                'date__year': 2014,
                'created__month': date.today().month
            }))
        bvs.request = request
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 1)

        # Failed filter
        request.query_params = QueryDict(
            urlencode({'created__istartswith': 10}))
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 4)
Exemplo n.º 2
0
    def test_query_filters_decimalfield(self):
        request = self.request_factory.get('/api/bar')
        bvs = BarViewSet()
        request.query_params = QueryDict(urlencode({'price__gte': 20}))
        bvs.request = request
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 3)

        # Failed filter
        request.query_params = QueryDict(urlencode({'price__istartswith': 10}))
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 4)
Exemplo n.º 3
0
    def test_query_filters_autofield(self):
        request = self.request_factory.get('/api/bar')
        bvs = BarViewSet()
        request.query_params = QueryDict(urlencode({'id__startswith':
                                                    '99999'}))
        bvs.request = request
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 1)

        request.query_params = QueryDict(urlencode({'id__exact': '999999'}))
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 1)
Exemplo n.º 4
0
    def test_query_filters_charfield(self):
        request = self.request_factory.get('/api/bar')
        bvs = BarViewSet()
        request.query_params = QueryDict(urlencode({'name__icontains':
                                                    'bar1'}))
        bvs.request = request
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 1)

        # Failed filter
        request.query_params = QueryDict(urlencode({'name__range': 10}))
        self.assertEqual(
            len(
                self.lookup_filter.filter_queryset(request, Bar.objects.all(),
                                                   bvs)), 4)
Exemplo n.º 5
0
    def test_query_filters_isnull(self):
        request = self.request_factory.get('/api/bar')
        bvs = BarViewSet()

        for val in TRUE_VALUES:
            request.query_params = QueryDict(urlencode({'date__isnull': val}))
            bvs.request = request
            self.assertEqual(
                len(
                    self.lookup_filter.filter_queryset(request,
                                                       Bar.objects.all(),
                                                       bvs)), 1)

        for val in FALSE_VALUES:
            request.query_params = QueryDict(urlencode({'date__isnull': val}))
            bvs.request = request
            self.assertEqual(
                len(
                    self.lookup_filter.filter_queryset(request,
                                                       Bar.objects.all(),
                                                       bvs)), 3)