feat: add basic Edit support for CRUD master view
This commit is contained in:
parent
9e1fc6e57d
commit
1a8fc8dd44
12 changed files with 640 additions and 51 deletions
|
@ -65,3 +65,30 @@ class TestSettingView(WebTestCase):
|
|||
view = self.make_view()
|
||||
title = view.get_instance_title(setting)
|
||||
self.assertEqual(title, 'foo')
|
||||
|
||||
def test_make_model_form(self):
|
||||
view = self.make_view()
|
||||
view.editing = True
|
||||
form = view.make_model_form()
|
||||
self.assertEqual(form.fields, ['name', 'value'])
|
||||
self.assertIn('name', form)
|
||||
self.assertIn('value', form)
|
||||
dform = form.get_deform()
|
||||
self.assertNotIn('name', dform)
|
||||
self.assertIn('value', dform)
|
||||
|
||||
def test_persist(self):
|
||||
model = self.app.model
|
||||
view = self.make_view()
|
||||
|
||||
# setup
|
||||
self.app.save_setting(self.session, 'foo', 'bar')
|
||||
self.session.commit()
|
||||
self.assertEqual(self.session.query(model.Setting).count(), 1)
|
||||
|
||||
# setting is updated
|
||||
self.request.matchdict = {'name': 'foo'}
|
||||
view.persist({'name': 'foo', 'value': 'frazzle'}, session=self.session)
|
||||
self.session.commit()
|
||||
self.assertEqual(self.session.query(model.Setting).count(), 1)
|
||||
self.assertEqual(self.app.get_setting(self.session, 'foo'), 'frazzle')
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue