FX-3: project image-only papers to Neo4j after auto-map
Only the born-digital fast path enqueued project_template_safe; the async OCR job (_run_auto_map_job) — where image-only papers, R3's primary target, are routed — never projected, so those papers never reached the graph after auto-map. Project at the end of the async job too. Adds test_auto_map_ocr_path_projects_to_neo4j. Co-Authored-By: Claude Opus 4.8 <[email protected]>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
6c73174829
commit
41614b78ef
@@ -718,4 +718,16 @@ def test_auto_map_ocr_returns_job_id_and_status_completes(monkeypatch):
|
||||
body = status.json()
|
||||
assert body["status"] == "completed"
|
||||
assert body["counts"]["questions"] >= 2
|
||||
|
||||
|
||||
def test_auto_map_ocr_path_projects_to_neo4j(monkeypatch, _stub_projection):
|
||||
# Image-only papers route through the async OCR job; regression: that path must project to Neo4j
|
||||
# like the born-digital fast path, or the graph is never built for the primary target.
|
||||
store = _template_with_source()
|
||||
client, store = make_client(store=store)
|
||||
_patch_auto_map(monkeypatch, store, fast=False)
|
||||
resp = client.post("/api/exam/templates/t1/auto-map")
|
||||
assert resp.status_code == 202
|
||||
# the BackgroundTask runs after the response under TestClient
|
||||
assert "t1" in _stub_projection
|
||||
assert body["template"]["layout"]
|
||||
|
||||
Reference in New Issue
Block a user