File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -152,6 +152,25 @@ def test_readonlyadmin_has_delete_permission(self):
152152 ).wsgi_request
153153 request .resolver_match = None
154154 self .assertTrue (modeladmin .has_delete_permission (request ))
155+
156+ with self .subTest ("cascade delete without child permission returns False" ):
157+ request = self .client .get (
158+ reverse ("admin:test_project_radiusaccounting_changelist" )
159+ ).wsgi_request
160+
161+ mock_resolver = MagicMock ()
162+ mock_resolver .url_name = "index"
163+ request .resolver_match = mock_resolver
164+
165+ # Mock a staff user who lacks the specific delete permission
166+ request .user = MagicMock ()
167+ request .user .is_active = True
168+ request .user .is_staff = True
169+ request .user .is_superuser = False
170+ request .user .has_perm .return_value = False # Explicitly deny perm
171+
172+ # It should fall back to super().has_delete_permission and return False
173+ self .assertFalse (modeladmin .has_delete_permission (request ))
155174
156175 def test_context_processor (self ):
157176 url = reverse ("admin:index" )
You can’t perform that action at this time.
0 commit comments