From 81b63eaff3f2ff9c23eb7c6e45a205aa9ce3c9b3 Mon Sep 17 00:00:00 2001 From: Bertrand Bordage Date: Tue, 17 Feb 2015 21:23:51 +0100 Subject: [PATCH] Adds a missing test for subqueries. --- cachalot/tests/write.py | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/cachalot/tests/write.py b/cachalot/tests/write.py index 5a343aa..d9dfc85 100644 --- a/cachalot/tests/write.py +++ b/cachalot/tests/write.py @@ -351,6 +351,28 @@ class WriteTestCase(TransactionTestCase): ).distinct()) self.assertListEqual(data7, [t]) + with self.assertNumQueries(1): + data8 = list( + User.objects.filter(user_permissions__in=g.permissions.all()) + ) + self.assertListEqual(data8, []) + + u.user_permissions.add(p) + + with self.assertNumQueries(1): + data9 = list( + User.objects.filter(user_permissions__in=g.permissions.all()) + ) + self.assertListEqual(data9, [u]) + + g.permissions.remove(p) + + with self.assertNumQueries(1): + data10 = list( + User.objects.filter(user_permissions__in=g.permissions.all()) + ) + self.assertListEqual(data10, []) + def test_invalidate_select_related(self): with self.assertNumQueries(1): data1 = list(Test.objects.select_related('owner'))