From b17ed2415534b0a24c0bc0edba12d9afddddd228 Mon Sep 17 00:00:00 2001 From: Khaleel Al-Adhami Date: Tue, 15 Oct 2024 17:12:38 -0700 Subject: [PATCH] add a slightly more complicated test --- tests/units/components/test_component.py | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/tests/units/components/test_component.py b/tests/units/components/test_component.py index bbc4a3f0a..3b7b9310c 100644 --- a/tests/units/components/test_component.py +++ b/tests/units/components/test_component.py @@ -54,6 +54,12 @@ def test_state(): def do_something_with_int(self, arg: int): pass + def do_something_with_list_int(self, arg: List[int]): + pass + + def do_something_with_list_str(self, arg: List[str]): + pass + return TestState @@ -109,6 +115,7 @@ def component2() -> Type[Component]: "on_open": identity_event(bool), "on_close": identity_event(bool), "on_user_visited_count_changed": identity_event(int), + "on_user_list_changed": identity_event(List[str]), } def _get_imports(self) -> ParsedImportDict: @@ -594,7 +601,13 @@ def test_get_event_triggers(component1, component2): assert component1().get_event_triggers().keys() == default_triggers assert ( component2().get_event_triggers().keys() - == {"on_open", "on_close", "on_prop_event", "on_user_visited_count_changed"} + == { + "on_open", + "on_close", + "on_prop_event", + "on_user_visited_count_changed", + "on_user_list_changed", + } | default_triggers ) @@ -936,10 +949,15 @@ def test_invalid_event_handler_args(component2, test_state): component2.create( on_user_visited_count_changed=test_state.do_something_with_bool ) + with pytest.raises(EventHandlerArgTypeMismatch): + component2.create(on_user_list_changed=test_state.do_something_with_int) + with pytest.raises(EventHandlerArgTypeMismatch): + component2.create(on_user_list_changed=test_state.do_something_with_list_int) component2.create(on_open=test_state.do_something_with_int) component2.create(on_open=test_state.do_something_with_bool) component2.create(on_user_visited_count_changed=test_state.do_something_with_int) + component2.create(on_user_list_changed=test_state.do_something_with_list_str) # lambda cannot return weird values. with pytest.raises(ValueError):