fix: add basic views for raw Permissions
This commit is contained in:
parent
3cad7f1b13
commit
e952e1031e
6 changed files with 149 additions and 2 deletions
|
@ -255,6 +255,30 @@ class TestPersonRef(WebTestCase):
|
|||
self.assertIn(f'/people/{person.uuid}', url)
|
||||
|
||||
|
||||
class TestRoleRef(WebTestCase):
|
||||
|
||||
def test_sort_query(self):
|
||||
typ = mod.RoleRef(self.request, session=self.session)
|
||||
query = typ.get_query()
|
||||
self.assertIsInstance(query, orm.Query)
|
||||
sorted_query = typ.sort_query(query)
|
||||
self.assertIsInstance(sorted_query, orm.Query)
|
||||
self.assertIsNot(sorted_query, query)
|
||||
|
||||
def test_get_object_url(self):
|
||||
self.pyramid_config.add_route('roles.view', '/roles/{uuid}')
|
||||
model = self.app.model
|
||||
typ = mod.RoleRef(self.request, session=self.session)
|
||||
|
||||
role = model.Role(name='Manager')
|
||||
self.session.add(role)
|
||||
self.session.commit()
|
||||
|
||||
url = typ.get_object_url(role)
|
||||
self.assertIsNotNone(url)
|
||||
self.assertIn(f'/roles/{role.uuid}', url)
|
||||
|
||||
|
||||
class TestUserRef(WebTestCase):
|
||||
|
||||
def test_sort_query(self):
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue