diff options
Diffstat (limited to 'tests/postgres_tests/test_search.py')
| -rw-r--r-- | tests/postgres_tests/test_search.py | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/tests/postgres_tests/test_search.py b/tests/postgres_tests/test_search.py index 0e836e896b..b40d672920 100644 --- a/tests/postgres_tests/test_search.py +++ b/tests/postgres_tests/test_search.py @@ -10,7 +10,7 @@ from django.db.models import F from django.test import modify_settings, skipUnlessDBFeature from . import PostgreSQLSimpleTestCase, PostgreSQLTestCase -from .models import Character, Line, Scene +from .models import Character, Line, LineSavedSearch, Scene try: from django.contrib.postgres.search import ( @@ -110,6 +110,18 @@ class SimpleSearchTest(GrailTestData, PostgreSQLTestCase): ) self.assertSequenceEqual(searched, [self.verse2]) + def test_search_with_F_expression(self): + # Non-matching query. + LineSavedSearch.objects.create(line=self.verse1, query='hearts') + # Matching query. + match = LineSavedSearch.objects.create(line=self.verse1, query='elbows') + for query_expression in [F('query'), SearchQuery(F('query'))]: + with self.subTest(query_expression): + searched = LineSavedSearch.objects.filter( + line__dialogue__search=query_expression, + ) + self.assertSequenceEqual(searched, [match]) + @modify_settings(INSTALLED_APPS={'append': 'django.contrib.postgres'}) class SearchVectorFieldTest(GrailTestData, PostgreSQLTestCase): |
