"""Tests for printer form template wiring — inline driver upload + OOB select.""" from fastapi.testclient import TestClient def test_printer_form_has_inline_driver_upload(client: TestClient) -> None: """GET /printers/new renders printer form with: - Driver must have id="printer-form-driver-select" ' "for HTMX OOB swap to work" ) # Inline upload form posts caller=printer_form sentinel assert 'name="caller"' in html, 'Inline upload form missing name="caller" field' assert 'value="printer_form"' in html, ( 'Inline upload form missing value="printer_form" sentinel' ) # Inline upload form targets /drivers/upload assert 'hx-post="/drivers/upload"' in html, ( 'Inline upload form missing hx-post="/drivers/upload"' ) # Main printer form uses plain POST (no HTMX) so browser follows 303 redirect assert 'action="/printers"' in html, ( 'Printer form must use action="/printers" (plain HTML form, not hx-post)' ) assert 'method="post"' in html, ( 'Printer form must use method="post"' )