feat: inherit from wutta base class for Grid
This commit is contained in:
parent
f7641218cb
commit
2a0b6da2f9
23 changed files with 317 additions and 274 deletions
|
@ -12,9 +12,8 @@ class TestGrid(WebTestCase):
|
|||
self.setup_web()
|
||||
self.config.setdefault('rattail.web.menus.handler_spec', 'tests.util:NullMenuHandler')
|
||||
|
||||
def make_grid(self, key, data=[], **kwargs):
|
||||
kwargs.setdefault('request', self.request)
|
||||
return mod.Grid(key, data=data, **kwargs)
|
||||
def make_grid(self, key=None, data=[], **kwargs):
|
||||
return mod.Grid(self.request, key=key, data=data, **kwargs)
|
||||
|
||||
def test_basic(self):
|
||||
grid = self.make_grid('foo')
|
||||
|
@ -90,6 +89,50 @@ class TestGrid(WebTestCase):
|
|||
grid = self.make_grid('foo', main_actions=['foo'], more_actions=['bar'])
|
||||
self.assertEqual(grid.actions, ['foo', 'bar'])
|
||||
|
||||
def test_set_label(self):
|
||||
model = self.app.model
|
||||
grid = self.make_grid(model_class=model.Setting)
|
||||
self.assertEqual(grid.labels, {})
|
||||
|
||||
# basic
|
||||
grid.set_label('name', "NAME COL")
|
||||
self.assertEqual(grid.labels['name'], "NAME COL")
|
||||
|
||||
# can replace label
|
||||
grid.set_label('name', "Different")
|
||||
self.assertEqual(grid.labels['name'], "Different")
|
||||
self.assertEqual(grid.get_label('name'), "Different")
|
||||
|
||||
# can update only column, not filter
|
||||
self.assertEqual(grid.labels, {'name': "Different"})
|
||||
self.assertIn('name', grid.filters)
|
||||
self.assertEqual(grid.filters['name'].label, "Different")
|
||||
grid.set_label('name', "COLUMN ONLY", column_only=True)
|
||||
self.assertEqual(grid.get_label('name'), "COLUMN ONLY")
|
||||
self.assertEqual(grid.filters['name'].label, "Different")
|
||||
|
||||
def test_get_view_click_handler(self):
|
||||
model = self.app.model
|
||||
grid = self.make_grid(model_class=model.Setting)
|
||||
|
||||
grid.actions.append(
|
||||
mod.GridAction(self.request, 'view',
|
||||
click_handler='clickHandler(props.row)'))
|
||||
|
||||
handler = grid.get_view_click_handler()
|
||||
self.assertEqual(handler, 'clickHandler(props.row)')
|
||||
|
||||
def test_set_action_urls(self):
|
||||
model = self.app.model
|
||||
grid = self.make_grid(model_class=model.Setting)
|
||||
|
||||
grid.actions.append(
|
||||
mod.GridAction(self.request, 'view', url='/blarg'))
|
||||
|
||||
setting = {'name': 'foo', 'value': 'bar'}
|
||||
grid.set_action_urls(setting, setting, 0)
|
||||
self.assertEqual(setting['_action_url_view'], '/blarg')
|
||||
|
||||
def test_render_vue_tag(self):
|
||||
model = self.app.model
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue