"""PCB SSE terminal mapping — complete is not pcb_error.""" from backend.services.pcb_pipeline import pcb_sse_terminal_from_status def test_complete_status_is_pcb_complete_not_error(): ev, data = pcb_sse_terminal_from_status( "complete", {"findings": 38, "domains": 3, "groups": 4}, "pcb_status=complete (terminal)", ) assert ev == "pcb_complete" assert data["findings"] == 38 assert data["domains"] == 3 assert data["groups"] == 4 assert "error" not in data def test_complete_reason_without_status_still_completes(): ev, data = pcb_sse_terminal_from_status( "running", {}, "pcb_status=complete (terminal)", ) assert ev == "pcb_complete" assert data.get("synthetic") is True def test_error_status_stays_pcb_error(): ev, data = pcb_sse_terminal_from_status( "error", {"error": "parse failed"}, "pcb_status=error (terminal)", ) assert ev == "pcb_error" assert data["error"] == "parse failed" def test_cancelled_status_is_pcb_cancelled(): ev, _data = pcb_sse_terminal_from_status( "cancelled", {}, "pcb_status=cancelled (terminal)", ) assert ev == "pcb_cancelled"