summaryrefslogtreecommitdiff
path: root/tests/custom_managers
diff options
context:
space:
mode:
authorBruno Alla <bruno.alla@founders4schools.org.uk>2017-03-07 21:00:43 +0000
committerTim Graham <timograham@gmail.com>2017-05-24 08:36:34 -0400
commit6092ea8fa62191bf9ed8ebaae3125dcde9c4bbec (patch)
tree4da8346887b1c33e3b0a993eaf780687cdb239b0 /tests/custom_managers
parent91b2bc3e70be2632baad86488fb03cf02848b5b6 (diff)
downloaddjango-6092ea8fa62191bf9ed8ebaae3125dcde9c4bbec.tar.gz
Refs #27804 -- Used subTest() in several tests.
Diffstat (limited to 'tests/custom_managers')
-rw-r--r--tests/custom_managers/tests.py53
1 files changed, 28 insertions, 25 deletions
diff --git a/tests/custom_managers/tests.py b/tests/custom_managers/tests.py
index 54f3b58a79..d095036f10 100644
--- a/tests/custom_managers/tests.py
+++ b/tests/custom_managers/tests.py
@@ -42,41 +42,44 @@ class CustomManagerTests(TestCase):
default Manager.
"""
for manager_name in self.custom_manager_names:
- manager = getattr(Person, manager_name)
+ with self.subTest(manager_name=manager_name):
+ manager = getattr(Person, manager_name)
- # Public methods are copied
- manager.public_method()
- # Private methods are not copied
- with self.assertRaises(AttributeError):
- manager._private_method()
+ # Public methods are copied
+ manager.public_method()
+ # Private methods are not copied
+ with self.assertRaises(AttributeError):
+ manager._private_method()
def test_manager_honors_queryset_only(self):
for manager_name in self.custom_manager_names:
- manager = getattr(Person, manager_name)
- # Methods with queryset_only=False are copied even if they are private.
- manager._optin_private_method()
- # Methods with queryset_only=True aren't copied even if they are public.
- with self.assertRaises(AttributeError):
- manager.optout_public_method()
+ with self.subTest(manager_name=manager_name):
+ manager = getattr(Person, manager_name)
+ # Methods with queryset_only=False are copied even if they are private.
+ manager._optin_private_method()
+ # Methods with queryset_only=True aren't copied even if they are public.
+ with self.assertRaises(AttributeError):
+ manager.optout_public_method()
def test_manager_use_queryset_methods(self):
"""
Custom manager will use the queryset methods
"""
for manager_name in self.custom_manager_names:
- manager = getattr(Person, manager_name)
- queryset = manager.filter()
- self.assertQuerysetEqual(queryset, ["Bugs Bunny"], str)
- self.assertIs(queryset._filter_CustomQuerySet, True)
-
- # Specialized querysets inherit from our custom queryset.
- queryset = manager.values_list('first_name', flat=True).filter()
- self.assertEqual(list(queryset), ["Bugs"])
- self.assertIs(queryset._filter_CustomQuerySet, True)
-
- self.assertIsInstance(queryset.values(), CustomQuerySet)
- self.assertIsInstance(queryset.values().values(), CustomQuerySet)
- self.assertIsInstance(queryset.values_list().values(), CustomQuerySet)
+ with self.subTest(manager_name=manager_name):
+ manager = getattr(Person, manager_name)
+ queryset = manager.filter()
+ self.assertQuerysetEqual(queryset, ["Bugs Bunny"], str)
+ self.assertIs(queryset._filter_CustomQuerySet, True)
+
+ # Specialized querysets inherit from our custom queryset.
+ queryset = manager.values_list('first_name', flat=True).filter()
+ self.assertEqual(list(queryset), ["Bugs"])
+ self.assertIs(queryset._filter_CustomQuerySet, True)
+
+ self.assertIsInstance(queryset.values(), CustomQuerySet)
+ self.assertIsInstance(queryset.values().values(), CustomQuerySet)
+ self.assertIsInstance(queryset.values_list().values(), CustomQuerySet)
def test_init_args(self):
"""