mirror of
https://github.com/Hopiu/wagtail.git
synced 2026-05-11 00:33:17 +00:00
Add UserPagePermissionsProxy tests for a user who can access the admin only
This commit is contained in:
parent
d12c9181f5
commit
0cb60d6e27
2 changed files with 55 additions and 0 deletions
28
wagtail/tests/fixtures/test.json
vendored
28
wagtail/tests/fixtures/test.json
vendored
|
|
@ -265,6 +265,16 @@
|
|||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 6,
|
||||
"model": "auth.group",
|
||||
"fields": {
|
||||
"name": "Admin non-editors",
|
||||
"permissions": [
|
||||
["access_admin", "wagtailadmin", "admin"]
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 1,
|
||||
"model": "wagtailcore.grouppagepermission",
|
||||
|
|
@ -400,6 +410,24 @@
|
|||
"email": "siteeditor@example.com"
|
||||
}
|
||||
},
|
||||
{
|
||||
"pk": 6,
|
||||
"model": "auth.user",
|
||||
"fields": {
|
||||
"username": "admin_only_user",
|
||||
"first_name": "",
|
||||
"last_name": "",
|
||||
"is_active": true,
|
||||
"is_superuser": false,
|
||||
"is_staff": false,
|
||||
"groups": [
|
||||
["Admin non-editors"]
|
||||
],
|
||||
"user_permissions": [],
|
||||
"password": "md5$seasalt$1e9bf2bf5606aa5c39852cc30f0f6f22",
|
||||
"email": "admin_only_user@example.com"
|
||||
}
|
||||
},
|
||||
|
||||
{
|
||||
"pk": 1,
|
||||
|
|
|
|||
|
|
@ -276,3 +276,30 @@ class TestPagePermission(TestCase):
|
|||
self.assertTrue(publishable_pages.filter(id=someone_elses_event_page.id).exists())
|
||||
|
||||
self.assertTrue(can_publish_pages)
|
||||
|
||||
def test_editable_pages_for_non_editing_user(self):
|
||||
user = User.objects.get(username='admin_only_user')
|
||||
homepage = Page.objects.get(url_path='/home/')
|
||||
christmas_page = EventPage.objects.get(url_path='/home/events/christmas/')
|
||||
unpublished_event_page = EventPage.objects.get(url_path='/home/events/tentative-unpublished-event/')
|
||||
someone_elses_event_page = EventPage.objects.get(url_path='/home/events/someone-elses-event/')
|
||||
|
||||
user_perms = UserPagePermissionsProxy(user)
|
||||
editable_pages = user_perms.editable_pages()
|
||||
can_edit_pages = user_perms.can_edit_pages()
|
||||
publishable_pages = user_perms.publishable_pages()
|
||||
can_publish_pages = user_perms.can_publish_pages()
|
||||
|
||||
self.assertFalse(editable_pages.filter(id=homepage.id).exists())
|
||||
self.assertFalse(editable_pages.filter(id=christmas_page.id).exists())
|
||||
self.assertFalse(editable_pages.filter(id=unpublished_event_page.id).exists())
|
||||
self.assertFalse(editable_pages.filter(id=someone_elses_event_page.id).exists())
|
||||
|
||||
self.assertFalse(can_edit_pages)
|
||||
|
||||
self.assertFalse(publishable_pages.filter(id=homepage.id).exists())
|
||||
self.assertFalse(publishable_pages.filter(id=christmas_page.id).exists())
|
||||
self.assertFalse(publishable_pages.filter(id=unpublished_event_page.id).exists())
|
||||
self.assertFalse(publishable_pages.filter(id=someone_elses_event_page.id).exists())
|
||||
|
||||
self.assertFalse(can_publish_pages)
|
||||
|
|
|
|||
Loading…
Reference in a new issue