コード例 #1
0
    def test_execute(self, MockCache):
        obj_cache = Mock(pks=[1, 2, 3, 4])
        MockCache.return_value = obj_cache

        qs = QuerySet(X)
        qs.query = MagicMock()
        qs.query.__and__.return_value = qs.query
        qs.query.execute.return_value = [1, 2, 3]

        eq_(qs._execute(a=1, b=2), ([1, 2, 3], obj_cache))
        qs.query.__and__.assert_called_once_with(Q(a=1, b=2))
        qs.query.execute.assert_called_once_with(obj_cache, obj_cache.pks)
コード例 #2
0
 def slice_order_by(self):
     eq_(QuerySet(X)[:3].order_by('a').query, Q()[:3].order_by('a'))
コード例 #3
0
 def test_with_kwargs(self):
     eq_(self.exclude(a=1), ~Q(a=1))
     eq_(self.exclude(a=1, b=2), ~Q(a=1, b=2))
コード例 #4
0
 def test_exclude(self):
     eq_(self.exclude(), ~Q())
コード例 #5
0
 def test_with_kwargs(self):
     eq_(self.filter(a=1), Q(a=1))
     eq_(self.filter(a=1, b=2), Q(a=1, b=2))
コード例 #6
0
 def test_filter(self):
     eq_(self.filter(), Q())
コード例 #7
0
 def test_slice(self):
     qs = QuerySet(X)
     eq_(qs[:3].query, Q()[:3])
コード例 #8
0
 def test_and(self):
     qs = QuerySet(X)
     eq_((qs.filter(a=1) & qs.filter(b=2)).query, Q(a=1, b=2))
コード例 #9
0
 def exclude_order_by(self):
     eq_(QuerySet(X).exclude(a=1).order_by('b').query, ~Q(a=1).order_by('b'))
コード例 #10
0
 def exclude_filter(self):
     eq_(QuerySet(X).exclude(a=1).filter(b=2).query, ~Q(a=1) & Q(b=2))
コード例 #11
0
 def filter_slice(self):
     eq_(QuerySet(X).filter(a=1)[:3].query, Q(a=1)[:3])
コード例 #12
0
 def filter_order_by(self):
     eq_(QuerySet(X).filter(a=1).order_by('b').query, Q(a=1).order_by('b'))
コード例 #13
0
 def filter_exclude(self):
     eq_(QuerySet(X).filter(a=1).exclude(b=2).query, Q(a=1) & ~Q(b=2))
コード例 #14
0
 def test_order_by(self):
     eq_(self.order_by(), Q().order_by())
     eq_(self.order_by('a'), Q().order_by('a'))
     eq_(self.order_by('a', '-b'), Q().order_by('a', '-b'))
コード例 #15
0
 def test_with_args_and_kwargs(self):
     eq_(self.exclude(Q(a=1), b=2), ~Q(a=1, b=2))
     eq_(self.exclude(Q(a=1), Q(b=2), c=3), ~Q(a=1, b=2, c=3))
     eq_(self.exclude(Q(a=1), b=2, c=3), ~Q(a=1, b=2, c=3))
     eq_(self.exclude(Q(a=1), Q(b=2), c=3, d=4), ~Q(a=1, b=2, c=3, d=4))
コード例 #16
0
 def exclude_slice(self):
     eq_(QuerySet(X).exclude(a=1)[:3].query, ~Q(a=1)[:3])
コード例 #17
0
 def test_or(self):
     qs = QuerySet(X)
     eq_((qs.filter(a=1) | qs.filter(b=2)).query, Q(a=1) | Q(b=2))
コード例 #18
0
 def order_by_filter(self):
     eq_(QuerySet(X).order_by('a').filter(b=2).query,
         Q().order_by('a') & Q(b=2))
コード例 #19
0
 def test_invert(self):
     qs = QuerySet(X)
     eq_(~qs.filter(a=1).query, ~Q(a=1))
コード例 #20
0
 def order_by_exclude(self):
     eq_(QuerySet(X).order_by('a').exclude(b=2).query,
         Q().order_by('a') & ~Q(b=2))
コード例 #21
0
 def test_all(self):
     eq_(QuerySet(X).all().query, Q())
コード例 #22
0
 def order_by_slice(self):
     eq_(QuerySet(X).order_by('a')[:3].query, Q().order_by('a')[:3])
コード例 #23
0
 def test_with_args(self):
     eq_(self.filter(Q(a=1)), Q(a=1))
     eq_(self.filter(Q(a=1), Q(b=2)), Q(a=1, b=2))
コード例 #24
0
 def slice_filter(self):
     eq_(QuerySet(X)[:3].filter(a=1).query, Q()[:3] & Q(a=1))
コード例 #25
0
 def test_with_args_and_kwargs(self):
     eq_(self.filter(Q(a=1), b=2), Q(a=1, b=2))
     eq_(self.filter(Q(a=1), Q(b=2), c=3), Q(a=1, b=2, c=3))
     eq_(self.filter(Q(a=1), b=2, c=3), Q(a=1, b=2, c=3))
     eq_(self.filter(Q(a=1), Q(b=2), c=3, d=4), Q(a=1, b=2, c=3, d=4))
コード例 #26
0
 def slice_exclude(self):
     eq_(QuerySet(X)[:3].exclude(a=1).query, Q()[:3] & ~Q(a=1))
コード例 #27
0
 def test_objects(self):
     eq_(Ticket.objects.model, Ticket)
     eq_(Ticket.objects.query, Q())
コード例 #28
0
 def test_with_args(self):
     eq_(self.exclude(Q(a=1)), ~Q(a=1))
     eq_(self.exclude(Q(a=1), Q(b=2)), ~Q(a=1, b=2))