diff --git a/tests/test_search_select.py b/tests/test_search_select.py index 81780fc..36dcfe9 100644 --- a/tests/test_search_select.py +++ b/tests/test_search_select.py @@ -154,6 +154,23 @@ class SearchSelectComponentTest(unittest.TestCase): html_custom = str(SearchSelect(name="t", prefetch=42)) self.assertIn('prefetch="42"', html_custom) + def test_field_id_placed_on_search_input(self): + html = str(SearchSelect(name="games", id="id_games")) + # id appears exactly once in the whole widget + self.assertEqual(html.count('id="id_games"'), 1) + # must NOT appear in the wrapper's opening tag + wrapper_open_end = html.index(">", html.index("", search_pos) + self.assertIn('id="id_games"', html[tag_start:tag_end]) + + def test_no_id_omits_id_attribute(self): + html = str(SearchSelect(name="games")) + self.assertNotIn("id=", html) + class FilterSelectComponentTest(unittest.TestCase): MODIFIERS = [("NOT_NULL", "(Any)"), ("IS_NULL", "(None)")]