Exemple #1
0
    def test_apply_django_filter(self):
        qs = Mock()

        db = DjangoBackend()
        db.apply_django_filter(qs, EqualsCondition('a', 1))

        assert qs.filter.called
Exemple #2
0
	def test_apply_django_filter(self):
		qs = Mock()

		db = DjangoBackend()
		db.apply_django_filter(qs, EqualsCondition('a', 1))

		assert qs.filter.called
Exemple #3
0
	def test_apply(self):
		all_qs = Mock()

		manager = Mock()
		manager.all = Mock(return_value=all_qs)

		db = DjangoBackend()
		db.apply(Query([EqualsCondition('a', 1)]), manager)

		assert manager.all.called # Mock() isn't an instance of Manager, so .all() must be called
		assert all_qs.filter.called
Exemple #4
0
    def test_apply(self):
        all_qs = Mock()

        manager = Mock()
        manager.all = Mock(return_value=all_qs)

        db = DjangoBackend()
        db.apply(Query([EqualsCondition('a', 1)]), manager)

        assert manager.all.called  # Mock() isn't an instance of Manager, so .all() must be called
        assert all_qs.filter.called
Exemple #5
0
	def test_to_q(self):
		db = DjangoBackend()

		assert db.to_q(EqualsCondition('a', 1)).children == [('a', 1)]
		assert db.to_q(GreaterThanCondition('a', 0)).children == [('a__gt', 0)]
		assert db.to_q(GreaterThanOrEqualCondition('a', 1)).children == [('a__gte', 1)]
		assert db.to_q(LessThanCondition('a', 2)).children == [('a__lt', 2)]
		assert db.to_q(LessThanOrEqualCondition('a', 1)).children == [('a__lte', 1)]

		q = db.to_q(AndOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)))
		assert len(q.children) == 2
		assert q.children[0].children == [('a', 1)]
		assert q.children[1].children == [('a__gt', 0)]
		assert q.connector == 'AND'

		q = db.to_q(OrOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)))
		assert len(q.children) == 2
		assert q.children[0].children == [('a', 1)]
		assert q.children[1].children == [('a__gt', 0)]
		assert q.connector == 'OR'

		with pytest.raises(Exception):
			db.to_q(False)
Exemple #6
0
	def test_supports(self):
		assert DjangoBackend.supports(QuerySet())
		assert DjangoBackend.supports(Manager())
		assert not DjangoBackend.supports(Q())
Exemple #7
0
    def test_to_q(self):
        db = DjangoBackend()

        assert db.to_q(EqualsCondition('a', 1)).children == [('a', 1)]
        assert db.to_q(GreaterThanCondition('a', 0)).children == [('a__gt', 0)]
        assert db.to_q(GreaterThanOrEqualCondition('a', 1)).children == [
            ('a__gte', 1)
        ]
        assert db.to_q(LessThanCondition('a', 2)).children == [('a__lt', 2)]
        assert db.to_q(LessThanOrEqualCondition('a',
                                                1)).children == [('a__lte', 1)]

        q = db.to_q(
            AndOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)))
        assert len(q.children) == 2
        assert q.children[0].children == [('a', 1)]
        assert q.children[1].children == [('a__gt', 0)]
        assert q.connector == 'AND'

        q = db.to_q(
            OrOperator(EqualsCondition('a', 1), GreaterThanCondition('a', 0)))
        assert len(q.children) == 2
        assert q.children[0].children == [('a', 1)]
        assert q.children[1].children == [('a__gt', 0)]
        assert q.connector == 'OR'

        with pytest.raises(Exception):
            db.to_q(False)
Exemple #8
0
 def test_supports(self):
     assert DjangoBackend.supports(QuerySet())
     assert DjangoBackend.supports(Manager())
     assert not DjangoBackend.supports(Q())