offline-form-pilot / tests /test_engine.py
rishabhsai's picture
Codex: upload Offline Form Pilot Space
57a67db verified
Raw
History Blame Contribute Delete
1.05 kB
from formpilot.engine import analyze_form, detect_fields, parse_user_facts
def test_detect_fields_from_underlined_form() -> None:
form = """
Full name: ____________
Email: ________________
Emergency contact: ____
"""
assert detect_fields(form) == ["Full name", "Email", "Emergency contact"]
def test_parse_user_facts_key_values_and_free_text() -> None:
facts = parse_user_facts(
"""
Name: Jordan Lee
jordan.lee@example.com
Phone: 555-0137
"""
)
assert facts["name"] == "Jordan Lee"
assert facts["email"] == "jordan.lee@example.com"
assert facts["phone"] == "555-0137"
def test_analyze_form_marks_missing_fields() -> None:
payload = analyze_form("Full name: ____\nEmail: ____\nSignature: ____", "Full name: Jordan Lee")
rows = {row["field"]: row for row in payload["rows"]}
assert rows["Full name"]["status"] == "ready"
assert rows["Email"]["status"] == "missing"
assert rows["Signature"]["status"] == "missing"
assert payload["questions"]