fix: improve wutta People view a bit
try to behave more like traditional tailbone, for the few things supported so far. taking a conservative approach here for now since probably other things are more pressing.
This commit is contained in:
parent
53040dc6be
commit
7f0c571a44
2 changed files with 110 additions and 27 deletions
|
@ -23,6 +23,19 @@ class TestPersonView(WebTestCase):
|
|||
query = view.get_query(session=self.session)
|
||||
self.assertIsInstance(query, orm.Query)
|
||||
|
||||
def test_configure_grid(self):
|
||||
model = self.app.model
|
||||
barney = model.User(username='barney')
|
||||
self.session.add(barney)
|
||||
self.session.commit()
|
||||
view = self.make_view()
|
||||
|
||||
# sanity / coverage check
|
||||
grid = view.make_grid(model_class=model.Person)
|
||||
self.assertNotIn('first_name', grid.linked_columns)
|
||||
view.configure_grid(grid)
|
||||
self.assertIn('first_name', grid.linked_columns)
|
||||
|
||||
def test_configure_form(self):
|
||||
model = self.app.model
|
||||
barney = model.User(username='barney')
|
||||
|
@ -30,18 +43,45 @@ class TestPersonView(WebTestCase):
|
|||
self.session.commit()
|
||||
view = self.make_view()
|
||||
|
||||
# customers field remains when viewing
|
||||
# email field remains when viewing
|
||||
with patch.object(view, 'viewing', new=True):
|
||||
form = view.make_form(model_instance=barney,
|
||||
fields=view.get_form_fields())
|
||||
self.assertIn('customers', form.fields)
|
||||
self.assertIn('email', form.fields)
|
||||
view.configure_form(form)
|
||||
self.assertIn('customers', form)
|
||||
self.assertIn('email', form)
|
||||
|
||||
# customers field removed when editing
|
||||
# email field removed when editing
|
||||
with patch.object(view, 'editing', new=True):
|
||||
form = view.make_form(model_instance=barney,
|
||||
fields=view.get_form_fields())
|
||||
self.assertIn('customers', form.fields)
|
||||
self.assertIn('email', form.fields)
|
||||
view.configure_form(form)
|
||||
self.assertNotIn('customers', form)
|
||||
self.assertNotIn('email', form)
|
||||
|
||||
def test_render_merge_requested(self):
|
||||
model = self.app.model
|
||||
barney = model.Person(display_name="Barney Rubble")
|
||||
self.session.add(barney)
|
||||
user = model.User(username='user')
|
||||
self.session.add(user)
|
||||
self.session.commit()
|
||||
view = self.make_view()
|
||||
|
||||
# null by default
|
||||
html = view.render_merge_requested(barney, 'merge_requested', None,
|
||||
session=self.session)
|
||||
self.assertIsNone(html)
|
||||
|
||||
# unless a merge request exists
|
||||
barney2 = model.Person(display_name="Barney Rubble")
|
||||
self.session.add(barney2)
|
||||
self.session.commit()
|
||||
mr = model.MergePeopleRequest(removing_uuid=barney2.uuid,
|
||||
keeping_uuid=barney.uuid,
|
||||
requested_by=user)
|
||||
self.session.add(mr)
|
||||
self.session.commit()
|
||||
html = view.render_merge_requested(barney, 'merge_requested', None,
|
||||
session=self.session)
|
||||
self.assertIn('<span ', html)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue