Exemple #1
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 #2
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)