summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/test_citext.py
diff options
context:
space:
mode:
authorMads Jensen <mje@inducks.org>2017-11-14 22:51:51 +0100
committerTim Graham <timograham@gmail.com>2017-11-29 10:35:37 -0500
commitf0a68c25118786d47041d0a435b2afa953be3c86 (patch)
tree81677eaf779c786596e8669b1515b7278a2a8bf6 /tests/postgres_tests/test_citext.py
parent78c5e7b90eee10067d39a8ba6588e6b53ba00d82 (diff)
Fixed #28702 -- Made query lookups for CIText fields use citext.
Diffstat (limited to 'tests/postgres_tests/test_citext.py')
-rw-r--r--tests/postgres_tests/test_citext.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_citext.py b/tests/postgres_tests/test_citext.py
index 0a7012b072..350f34ba33 100644
--- a/tests/postgres_tests/test_citext.py
+++ b/tests/postgres_tests/test_citext.py
@@ -12,6 +12,7 @@ from .models import CITestModel
@modify_settings(INSTALLED_APPS={'append': 'django.contrib.postgres'})
class CITextTestCase(PostgreSQLTestCase):
+ case_sensitive_lookups = ('contains', 'startswith', 'endswith', 'regex')
@classmethod
def setUpTestData(cls):
@@ -42,3 +43,21 @@ class CITextTestCase(PostgreSQLTestCase):
instance = CITestModel.objects.get()
self.assertEqual(instance.array_field, self.john.array_field)
self.assertTrue(CITestModel.objects.filter(array_field__contains=['joe']).exists())
+
+ def test_lookups_name_char(self):
+ for lookup in self.case_sensitive_lookups:
+ with self.subTest(lookup=lookup):
+ query = {'name__{}'.format(lookup): 'john'}
+ self.assertSequenceEqual(CITestModel.objects.filter(**query), [self.john])
+
+ def test_lookups_description_text(self):
+ for lookup, string in zip(self.case_sensitive_lookups, ('average', 'average joe', 'john', 'Joe.named')):
+ with self.subTest(lookup=lookup, string=string):
+ query = {'description__{}'.format(lookup): string}
+ self.assertSequenceEqual(CITestModel.objects.filter(**query), [self.john])
+
+ def test_lookups_email(self):
+ for lookup, string in zip(self.case_sensitive_lookups, ('john', 'john', 'john.com', 'john.com')):
+ with self.subTest(lookup=lookup, string=string):
+ query = {'email__{}'.format(lookup): string}
+ self.assertSequenceEqual(CITestModel.objects.filter(**query), [self.john])