summaryrefslogtreecommitdiff
path: root/tests/modeladmin/test_checks.py
diff options
context:
space:
mode:
authorCarlton Gibson <carlton.gibson@noumenal.es>2018-06-18 21:07:29 +0200
committerTim Graham <timograham@gmail.com>2018-06-18 15:07:29 -0400
commit958c7b301ead79974db8edd5b9c6588a10a28ae7 (patch)
treef74015f227d8fc09b655d11868e9af764043dd86 /tests/modeladmin/test_checks.py
parent6dd4edb1b4f5441c5f543e29395039839c50d10b (diff)
Fixed #29419 -- Allowed permissioning of admin actions.
Diffstat (limited to 'tests/modeladmin/test_checks.py')
-rw-r--r--tests/modeladmin/test_checks.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tests/modeladmin/test_checks.py b/tests/modeladmin/test_checks.py
index 5a0433deb4..6a10441471 100644
--- a/tests/modeladmin/test_checks.py
+++ b/tests/modeladmin/test_checks.py
@@ -1290,3 +1290,22 @@ class AutocompleteFieldsTests(CheckTestCase):
site = AdminSite()
site.register(User, UserAdmin)
self.assertIsValid(Admin, ValidationTestModel, admin_site=site)
+
+
+class ActionsCheckTests(CheckTestCase):
+
+ def test_custom_permissions_require_matching_has_method(self):
+ def custom_permission_action(modeladmin, request, queryset):
+ pass
+
+ custom_permission_action.allowed_permissions = ('custom',)
+
+ class BandAdmin(ModelAdmin):
+ actions = (custom_permission_action,)
+
+ self.assertIsInvalid(
+ BandAdmin, Band,
+ 'BandAdmin must define a has_custom_permission() method for the '
+ 'custom_permission_action action.',
+ id='admin.E129',
+ )