Add UserPagePermissionsProxy tests for a user who can access the admin only

This commit is contained in:
Nick Smith 2014-06-20 15:45:52 +01:00
parent d12c9181f5
commit 0cb60d6e27
2 changed files with 55 additions and 0 deletions

View file

@ -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,

View file

@ -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)