3
0
Fork 0

feat: add basic Grid class, and /settings master view

This commit is contained in:
Lance Edgar 2024-08-07 14:00:53 -05:00
parent 2ad1ae9c49
commit 754e0989e4
18 changed files with 640 additions and 12 deletions

View file

@ -215,6 +215,37 @@ class TestMasterView(WebTestCase):
self.assertEqual(master.MasterView.get_template_prefix(), '/machines')
del master.MasterView.model_class
def test_get_grid_key(self):
# error by default (since no model class)
self.assertRaises(AttributeError, master.MasterView.get_grid_key)
# subclass may specify grid key
master.MasterView.grid_key = 'widgets'
self.assertEqual(master.MasterView.get_grid_key(), 'widgets')
del master.MasterView.grid_key
# or it may specify route prefix
master.MasterView.route_prefix = 'trucks'
self.assertEqual(master.MasterView.get_grid_key(), 'trucks')
del master.MasterView.route_prefix
# or it may specify *normalized* model name
master.MasterView.model_name_normalized = 'blaster'
self.assertEqual(master.MasterView.get_grid_key(), 'blasters')
del master.MasterView.model_name_normalized
# or it may specify *standard* model name
master.MasterView.model_name = 'Dinosaur'
self.assertEqual(master.MasterView.get_grid_key(), 'dinosaurs')
del master.MasterView.model_name
# or it may specify model class
MyModel = MagicMock(__name__='Machine')
master.MasterView.model_class = MyModel
self.assertEqual(master.MasterView.get_grid_key(), 'machines')
del master.MasterView.model_class
def test_get_config_title(self):
# error by default (since no model class)
@ -296,11 +327,13 @@ class TestMasterView(WebTestCase):
master.MasterView.model_name = 'AppInfo'
master.MasterView.route_prefix = 'appinfo'
master.MasterView.template_prefix = '/appinfo'
master.MasterView.grid_columns = ['foo', 'bar']
view = master.MasterView(self.request)
response = view.index()
del master.MasterView.model_name
del master.MasterView.route_prefix
del master.MasterView.template_prefix
del master.MasterView.grid_columns
def test_configure(self):
model = self.app.model