diff options
author | Simon Charette <charette.s@gmail.com> | 2018-11-23 20:59:38 -0500 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2018-11-27 09:35:17 -0500 |
commit | 84e7a9f4a7bb3cad2bffae97baaae99de152c451 (patch) | |
tree | c81eeb6edf47ce0abdb7551cd28a3de354dfd20f /tests/admin_inlines | |
parent | 9a7d336c3866c5226ed11868be0234c7e2fa47fa (diff) | |
download | django-84e7a9f4a7bb3cad2bffae97baaae99de152c451.tar.gz |
Switched setUp() to setUpTestData() where possible in Django's tests.
Diffstat (limited to 'tests/admin_inlines')
-rw-r--r-- | tests/admin_inlines/tests.py | 60 |
1 files changed, 31 insertions, 29 deletions
diff --git a/tests/admin_inlines/tests.py b/tests/admin_inlines/tests.py index 66cf57dba1..9ba9bd279e 100644 --- a/tests/admin_inlines/tests.py +++ b/tests/admin_inlines/tests.py @@ -27,12 +27,13 @@ class TestDataMixin: @override_settings(ROOT_URLCONF='admin_inlines.urls') class TestInline(TestDataMixin, TestCase): + @classmethod + def setUpTestData(cls): + super().setUpTestData() + cls.holder = Holder.objects.create(dummy=13) + Inner(dummy=42, holder=cls.holder).save() def setUp(self): - holder = Holder(dummy=13) - holder.save() - Inner(dummy=42, holder=holder).save() - self.client.force_login(self.superuser) self.factory = RequestFactory() @@ -40,9 +41,8 @@ class TestInline(TestDataMixin, TestCase): """ can_delete should be passed to inlineformset factory. """ - holder = Holder.objects.get(dummy=13) response = self.client.get( - reverse('admin:admin_inlines_holder_change', args=(holder.id,)) + reverse('admin:admin_inlines_holder_change', args=(self.holder.id,)) ) inner_formset = response.context['inline_admin_formsets'][0].formset expected = InnerInline.can_delete @@ -570,41 +570,43 @@ class TestInlinePermissions(TestCase): inline. Refs #8060. """ - def setUp(self): - self.user = User(username='admin') - self.user.is_staff = True - self.user.is_active = True - self.user.set_password('secret') - self.user.save() + @classmethod + def setUpTestData(cls): + cls.user = User(username='admin') + cls.user.is_staff = True + cls.user.is_active = True + cls.user.set_password('secret') + cls.user.save() - self.author_ct = ContentType.objects.get_for_model(Author) - self.holder_ct = ContentType.objects.get_for_model(Holder2) - self.book_ct = ContentType.objects.get_for_model(Book) - self.inner_ct = ContentType.objects.get_for_model(Inner2) + cls.author_ct = ContentType.objects.get_for_model(Author) + cls.holder_ct = ContentType.objects.get_for_model(Holder2) + cls.book_ct = ContentType.objects.get_for_model(Book) + cls.inner_ct = ContentType.objects.get_for_model(Inner2) # User always has permissions to add and change Authors, and Holders, # the main (parent) models of the inlines. Permissions on the inlines # vary per test. - permission = Permission.objects.get(codename='add_author', content_type=self.author_ct) - self.user.user_permissions.add(permission) - permission = Permission.objects.get(codename='change_author', content_type=self.author_ct) - self.user.user_permissions.add(permission) - permission = Permission.objects.get(codename='add_holder2', content_type=self.holder_ct) - self.user.user_permissions.add(permission) - permission = Permission.objects.get(codename='change_holder2', content_type=self.holder_ct) - self.user.user_permissions.add(permission) + permission = Permission.objects.get(codename='add_author', content_type=cls.author_ct) + cls.user.user_permissions.add(permission) + permission = Permission.objects.get(codename='change_author', content_type=cls.author_ct) + cls.user.user_permissions.add(permission) + permission = Permission.objects.get(codename='add_holder2', content_type=cls.holder_ct) + cls.user.user_permissions.add(permission) + permission = Permission.objects.get(codename='change_holder2', content_type=cls.holder_ct) + cls.user.user_permissions.add(permission) author = Author.objects.create(pk=1, name='The Author') book = author.books.create(name='The inline Book') - self.author_change_url = reverse('admin:admin_inlines_author_change', args=(author.id,)) + cls.author_change_url = reverse('admin:admin_inlines_author_change', args=(author.id,)) # Get the ID of the automatically created intermediate model for the Author-Book m2m author_book_auto_m2m_intermediate = Author.books.through.objects.get(author=author, book=book) - self.author_book_auto_m2m_intermediate_id = author_book_auto_m2m_intermediate.pk + cls.author_book_auto_m2m_intermediate_id = author_book_auto_m2m_intermediate.pk - holder = Holder2.objects.create(dummy=13) - self.inner2 = Inner2.objects.create(dummy=42, holder=holder) - self.holder_change_url = reverse('admin:admin_inlines_holder2_change', args=(holder.id,)) + cls.holder = Holder2.objects.create(dummy=13) + cls.inner2 = Inner2.objects.create(dummy=42, holder=cls.holder) + def setUp(self): + self.holder_change_url = reverse('admin:admin_inlines_holder2_change', args=(self.holder.id,)) self.client.force_login(self.user) def test_inline_add_m2m_noperm(self): |