summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorDavid-Wobrock <david.wobrock@gmail.com>2020-11-13 22:34:16 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-11-16 15:15:41 +0100
commit7b42d346465abb560d1b774bdf17d094fad75571 (patch)
tree942c1b8a3b60899518757d2c842e844fdfa186f3 /tests
parent4cce1d13cfe9d8e56921c5fa8c61e3034dc8e20c (diff)
Refs #27718 -- Doc'd and tested QuerySet.exists() for combined querysets.
Supported since 84c1826ded17b2d74f66717fb745fc36e37949fd.
Diffstat (limited to 'tests')
-rw-r--r--tests/queries/test_qs_combinators.py23
1 files changed, 23 insertions, 0 deletions
diff --git a/tests/queries/test_qs_combinators.py b/tests/queries/test_qs_combinators.py
index 58c03f09fe..b12277d34c 100644
--- a/tests/queries/test_qs_combinators.py
+++ b/tests/queries/test_qs_combinators.py
@@ -254,6 +254,29 @@ class QuerySetSetOperationTests(TestCase):
qs2 = Number.objects.filter(num__lte=5)
self.assertEqual(qs1.intersection(qs2).count(), 1)
+ def test_exists_union(self):
+ qs1 = Number.objects.filter(num__gte=5)
+ qs2 = Number.objects.filter(num__lte=5)
+ self.assertIs(qs1.union(qs2).exists(), True)
+
+ def test_exists_union_empty_result(self):
+ qs = Number.objects.filter(pk__in=[])
+ self.assertIs(qs.union(qs).exists(), False)
+
+ @skipUnlessDBFeature('supports_select_intersection')
+ def test_exists_intersection(self):
+ qs1 = Number.objects.filter(num__gt=5)
+ qs2 = Number.objects.filter(num__lt=5)
+ self.assertIs(qs1.intersection(qs1).exists(), True)
+ self.assertIs(qs1.intersection(qs2).exists(), False)
+
+ @skipUnlessDBFeature('supports_select_difference')
+ def test_exists_difference(self):
+ qs1 = Number.objects.filter(num__gte=5)
+ qs2 = Number.objects.filter(num__gte=3)
+ self.assertIs(qs1.difference(qs2).exists(), False)
+ self.assertIs(qs2.difference(qs1).exists(), True)
+
def test_get_union(self):
qs = Number.objects.filter(num=2)
self.assertEqual(qs.union(qs).get().num, 2)