3
0
Fork 0

feat: add basic autocomplete support, for Person

URL endpoint only for now, form widget to come later
This commit is contained in:
Lance Edgar 2024-08-21 11:46:38 -05:00
parent 4bf2bb42fb
commit 9d261de45a
6 changed files with 391 additions and 203 deletions

View file

@ -41,6 +41,30 @@ class TestPersonView(WebTestCase):
self.assertTrue(form.required_fields)
self.assertFalse(form.required_fields['middle_name'])
def test_autocomplete_query(self):
model = self.app.model
person1 = model.Person(full_name="George Jones")
self.session.add(person1)
person2 = model.Person(full_name="George Strait")
self.session.add(person2)
self.session.commit()
view = self.make_view()
with patch.object(view, 'Session', return_value=self.session):
# both people match
query = view.autocomplete_query('george')
self.assertEqual(query.count(), 2)
# just 1 match
query = view.autocomplete_query('jones')
self.assertEqual(query.count(), 1)
# no matches
query = view.autocomplete_query('sally')
self.assertEqual(query.count(), 0)
def test_view_profile(self):
self.pyramid_config.include('wuttaweb.views.common')
self.pyramid_config.include('wuttaweb.views.auth')