49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
from pynecone.event import Event, EventHandler
|
|
from pynecone.var import Var
|
|
|
|
|
|
def make_var(value) -> Var:
|
|
"""Make a variable.
|
|
|
|
Args:
|
|
value: The value of the var.
|
|
|
|
Returns:
|
|
The var.
|
|
"""
|
|
var = Var.create(value)
|
|
assert var is not None
|
|
return var
|
|
|
|
|
|
def test_create_event():
|
|
"""Test creating an event."""
|
|
event = Event(token="token", name="state.do_thing", payload={"arg": "value"})
|
|
assert event.token == "token"
|
|
assert event.name == "state.do_thing"
|
|
assert event.payload == {"arg": "value"}
|
|
|
|
|
|
def test_call_event_handler():
|
|
"""Test that calling an event handler creates an event spec."""
|
|
|
|
def test_fn():
|
|
pass
|
|
|
|
def test_fn_with_args(_, arg1, arg2):
|
|
pass
|
|
|
|
handler = EventHandler(fn=test_fn)
|
|
event_spec = handler()
|
|
|
|
assert event_spec.handler == handler
|
|
assert event_spec.local_args == ()
|
|
assert event_spec.args == ()
|
|
|
|
handler = EventHandler(fn=test_fn_with_args)
|
|
event_spec = handler(make_var("first"), make_var("second"))
|
|
|
|
assert event_spec.handler == handler
|
|
assert event_spec.local_args == ()
|
|
assert event_spec.args == (("arg1", "first"), ("arg2", "second"))
|