summaryrefslogtreecommitdiff
path: root/tests/modeladmin/test_has_add_permission_obj_deprecation.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/modeladmin/test_has_add_permission_obj_deprecation.py')
-rw-r--r--tests/modeladmin/test_has_add_permission_obj_deprecation.py111
1 files changed, 0 insertions, 111 deletions
diff --git a/tests/modeladmin/test_has_add_permission_obj_deprecation.py b/tests/modeladmin/test_has_add_permission_obj_deprecation.py
deleted file mode 100644
index 8e932ec7e8..0000000000
--- a/tests/modeladmin/test_has_add_permission_obj_deprecation.py
+++ /dev/null
@@ -1,111 +0,0 @@
-from datetime import date
-
-from django.contrib.admin.options import ModelAdmin, TabularInline
-from django.contrib.admin.sites import AdminSite
-from django.test import TestCase
-from django.utils.deprecation import RemovedInDjango30Warning
-
-from .models import Band, Song
-from .test_checks import CheckTestCase
-
-
-class HasAddPermissionObjTests(CheckTestCase):
- def test_model_admin_inherited_valid(self):
- class BandAdmin(ModelAdmin):
- pass
-
- self.assertIsValid(BandAdmin, Band)
-
- def test_model_admin_valid(self):
- class BandAdmin(ModelAdmin):
- def has_add_permission(self, request):
- return super().has_add_permission(request)
-
- self.assertIsValid(BandAdmin, Band)
-
- def test_inline_admin_inherited_valid(self):
- class SongInlineAdmin(TabularInline):
- model = Song
-
- class BandAdmin(ModelAdmin):
- inlines = [SongInlineAdmin]
-
- self.assertIsValid(BandAdmin, Band)
-
- def test_inline_admin_valid(self):
- class SongInlineAdmin(TabularInline):
- model = Song
-
- def has_add_permission(self, request, obj):
- return super().has_add_permission(request, obj)
-
- class BandAdmin(ModelAdmin):
- inlines = [SongInlineAdmin]
-
- self.assertIsValid(BandAdmin, Band)
-
- def test_inline_admin_warning(self):
- class SongInlineAdmin(TabularInline):
- model = Song
-
- def has_add_permission(self, request):
- return super().has_add_permission(request)
-
- class BandAdmin(ModelAdmin):
- inlines = [SongInlineAdmin]
-
- msg = (
- "Update SongInlineAdmin.has_add_permission() to accept a "
- "positional `obj` argument."
- )
- with self.assertWarnsMessage(RemovedInDjango30Warning, msg):
- self.assertIsValid(BandAdmin, Band)
-
-
-class MockRequest:
- method = 'POST'
- FILES = {}
- POST = {}
-
-
-class SongInline(TabularInline):
- model = Song
-
- def has_add_permission(self, request):
- return True
-
-
-class BandAdmin(ModelAdmin):
- inlines = [SongInline]
-
-
-class ModelAdminTests(TestCase):
-
- @classmethod
- def setUpTestData(cls):
- cls.band = Band.objects.create(name='The Doors', bio='', sign_date=date(1965, 1, 1))
- cls.song = Song.objects.create(name='test', band=cls.band)
-
- def setUp(self):
- self.site = AdminSite()
- self.request = MockRequest()
- self.request.POST = {
- 'song_set-TOTAL_FORMS': 4,
- 'song_set-INITIAL_FORMS': 1,
- }
- self.request.user = self.MockAddUser()
- self.ma = BandAdmin(Band, self.site)
-
- class MockAddUser:
- def has_perm(self, perm):
- return perm == 'modeladmin.add_band'
-
- def test_get_inline_instances(self):
- self.assertEqual(len(self.ma.get_inline_instances(self.request)), 1)
-
- def test_get_inline_formsets(self):
- formsets, inline_instances = self.ma._create_formsets(self.request, self.band, change=True)
- self.assertEqual(len(self.ma.get_inline_formsets(self.request, formsets, inline_instances)), 1)
-
- def test_get_formsets_with_inlines(self):
- self.assertEqual(len(list(self.ma. get_formsets_with_inlines(self.request, self.band))), 1)