Add HTML5 setup SSE updates
This commit is contained in:
@@ -533,6 +533,11 @@ def test_html5_project_setup_renders_server_fragments():
|
||||
assert "HTML5 Setup Demo" in setup.text
|
||||
assert "data-html5-settings-panel" in setup.text
|
||||
assert "data-html5-setup-summary" in setup.text
|
||||
assert 'hx-ext="sse"' in setup.text
|
||||
assert f'sse-connect="/html5/projects/{project_id}/setup/events"' in setup.text
|
||||
assert 'sse-swap="setup-summary"' in setup.text
|
||||
assert 'sse-swap="setup-import-job"' in setup.text
|
||||
assert 'hx-trigger="every 5s"' not in setup.text
|
||||
assert f'hx-get="/html5/projects/{project_id}/setup/summary"' in setup.text
|
||||
assert f'hx-post="/html5/projects/{project_id}/setup/settings"' in setup.text
|
||||
assert f'hx-post="/html5/projects/{project_id}/setup/source"' in setup.text
|
||||
@@ -582,6 +587,8 @@ def test_html5_project_setup_renders_server_fragments():
|
||||
assert "data-html5-import-job" in import_job.text
|
||||
assert "SERVER_IMPORT" not in import_job.text
|
||||
assert "hx-get" in import_job.text
|
||||
assert 'sse-swap="setup-import-job"' in import_job.text
|
||||
assert 'hx-trigger="every 2s"' not in import_job.text
|
||||
assert "<html" not in import_job.text
|
||||
|
||||
jobs = client.get("/operations/jobs", params={"project_id": project_id, "kind": "SERVER_IMPORT"})
|
||||
@@ -591,6 +598,8 @@ def test_html5_project_setup_renders_server_fragments():
|
||||
assert job_fragment.status_code == 200
|
||||
assert "data-html5-import-job" in job_fragment.text
|
||||
assert job_id in job_fragment.text
|
||||
assert 'sse-swap="setup-import-job"' in job_fragment.text
|
||||
assert 'hx-trigger="every 2s"' not in job_fragment.text
|
||||
assert "<html" not in job_fragment.text
|
||||
|
||||
html5_import = client.post(f"/html5/projects/{project_id}/setup/import")
|
||||
@@ -611,8 +620,18 @@ def test_html5_project_setup_renders_server_fragments():
|
||||
assert "data-html5-setup-summary" in summary.text
|
||||
assert "INDEXED" in summary.text
|
||||
assert "mock_indexed" in summary.text
|
||||
assert 'sse-swap="setup-summary"' in summary.text
|
||||
assert 'hx-trigger="every 5s"' not in summary.text
|
||||
assert "<html" not in summary.text
|
||||
|
||||
with client.stream("GET", f"/html5/projects/{project_id}/setup/events?once=1") as events:
|
||||
first_chunk = next(events.iter_text())
|
||||
assert "event: setup-summary" in first_chunk
|
||||
assert "event: setup-import-job" in first_chunk
|
||||
assert "data-html5-setup-summary" in first_chunk
|
||||
assert "data-html5-import-job" in first_chunk
|
||||
assert project_id in first_chunk
|
||||
|
||||
|
||||
def test_html5_operations_renders_job_monitor_fragments():
|
||||
client = TestClient(app)
|
||||
|
||||
Reference in New Issue
Block a user