diff options
Diffstat (limited to 'tests/modeladmin/test_has_add_permission_obj_deprecation.py')
| -rw-r--r-- | tests/modeladmin/test_has_add_permission_obj_deprecation.py | 111 |
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) |
