From 7b98f847c9e36267abaf9a2feadc96973b721326 Mon Sep 17 00:00:00 2001 From: tonjo Date: Sat, 12 Oct 2013 13:40:54 +0200 Subject: [PATCH] Filter chain test. test_filter_chain_contains_istartswith causes an ERROR: StatusException: Error [400]: Bad Request. Bad request syntax or unsupported method. --- neo4django/tests/nodequeryset_tests.py | 40 ++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/neo4django/tests/nodequeryset_tests.py b/neo4django/tests/nodequeryset_tests.py index 752d2cf..e712c66 100644 --- a/neo4django/tests/nodequeryset_tests.py +++ b/neo4django/tests/nodequeryset_tests.py @@ -594,6 +594,46 @@ def test_filter_isnull(): eq_(len(q3), 1) eq_(q3[0], nameless_person) +@with_setup(None,teardown) +def test_filter_chain_istartswith(): + class MyGuy(models.NodeModel): + name = models.StringProperty(indexed=True) + age = models.IntegerProperty(indexed=True) + + MyGuy.objects.create(name='Alex') + MyGuy.objects.create(name='Albert') + MyGuy.objects.create(name='Alicia') + AL_A = list(MyGuy.objects.filter(name__istartswith='Al').filter(name__istartswith='A')) + A_AL = list(MyGuy.objects.filter(name__istartswith='A').filter(name__istartswith='Al')) + eq_(len(AL_A),3) + eq_(len(A_AL),3) + +@with_setup(None,teardown) +def test_filter_chain_icontains(): + class MyGuy(models.NodeModel): + name = models.StringProperty(indexed=True) + age = models.IntegerProperty(indexed=True) + + MyGuy.objects.create(name='Alex') + MyGuy.objects.create(name='Albert') + MyGuy.objects.create(name='Alicia') + AL_E = list(MyGuy.objects.filter(name__istartswith='Al').filter(name__icontains='e')) + E_AL = list(MyGuy.objects.filter(name__icontains='e').filter(name__istartswith='Al')) + eq_(len(AL_E),2) # Albert Alex + eq_(len(E_AL),2) + +@with_setup(None,teardown) +def test_filter_chain_contains_istartswith(): + class MyGuy(models.NodeModel): + name = models.StringProperty(indexed=True) + age = models.IntegerProperty(indexed=True) + + MyGuy.objects.create(name='Alex') + MyGuy.objects.create(name='Albert') + MyGuy.objects.create(name='Alicia') + E_AL = list(MyGuy.objects.filter(name__contains='e').filter(name__istartswith='Al')) + eq_(len(E_AL),2) # Albert Alex + @with_setup(None, teardown) def test_exclude_exact(): pass