示例#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))