diff options
author | Bruno Alla <bruno.alla@founders4schools.org.uk> | 2017-03-07 21:00:43 +0000 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-05-24 08:36:34 -0400 |
commit | 6092ea8fa62191bf9ed8ebaae3125dcde9c4bbec (patch) | |
tree | 4da8346887b1c33e3b0a993eaf780687cdb239b0 /tests/custom_managers | |
parent | 91b2bc3e70be2632baad86488fb03cf02848b5b6 (diff) | |
download | django-6092ea8fa62191bf9ed8ebaae3125dcde9c4bbec.tar.gz |
Refs #27804 -- Used subTest() in several tests.
Diffstat (limited to 'tests/custom_managers')
-rw-r--r-- | tests/custom_managers/tests.py | 53 |
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): """ |