test_form.py 885 B

12345678910111213141516171819202122
  1. from reflex.components.radix.primitives.form import Form
  2. from reflex.event import EventChain, prevent_default
  3. from reflex.vars.base import Var
  4. def test_render_on_submit():
  5. """Test that on_submit event chain is rendered as a separate function."""
  6. submit_it = Var(
  7. _js_expr="submit_it",
  8. _var_type=EventChain,
  9. )
  10. f = Form.create(on_submit=submit_it)
  11. exp_submit_name = f"handleSubmit_{f.handle_submit_unique_name}" # pyright: ignore [reportAttributeAccessIssue]
  12. assert f"onSubmit:{exp_submit_name}" in f.render()["props"]
  13. def test_render_no_on_submit():
  14. """A form without on_submit should render a prevent_default handler."""
  15. f = Form.create()
  16. assert isinstance(f.event_triggers["on_submit"], EventChain)
  17. assert len(f.event_triggers["on_submit"].events) == 1
  18. assert f.event_triggers["on_submit"].events[0] == prevent_default