3
0
Fork 0

fix: add basic views for raw Permissions

This commit is contained in:
Lance Edgar 2024-12-12 19:24:36 -06:00
parent 3cad7f1b13
commit e952e1031e
6 changed files with 149 additions and 2 deletions

View file

@ -7,6 +7,7 @@ from sqlalchemy import orm
import colander
from wuttaweb.views import roles as mod
from wuttaweb.forms.schema import RoleRef
from tests.util import WebTestCase
@ -240,3 +241,33 @@ class TestRoleView(WebTestCase):
self.session.commit()
self.assertIs(role, blokes)
self.assertEqual(blokes.permissions, ['widgets.polish', 'widgets.view'])
class TestPermissionView(WebTestCase):
def make_view(self):
return mod.PermissionView(self.request)
def test_get_query(self):
view = self.make_view()
query = view.get_query(session=self.session)
self.assertIsInstance(query, orm.Query)
def test_configure_grid(self):
model = self.app.model
view = self.make_view()
grid = view.make_grid(model_class=model.Permission)
self.assertFalse(grid.is_linked('role'))
view.configure_grid(grid)
self.assertTrue(grid.is_linked('role'))
def test_configure_form(self):
model = self.app.model
role = model.Role(name="Foo")
perm = model.Permission(role=role, permission='whatever')
view = self.make_view()
form = view.make_form(model_instance=perm)
self.assertIsNone(form.schema)
view.configure_form(form)
schema = form.get_schema()
self.assertIsInstance(schema['role'].typ, RoleRef)