import test from "node:test"; import assert from "node:assert/strict"; import os from "node:os"; import path from "node:path"; import fs from "node:fs/promises"; import { clearFlightFinderRunState, loadFlightFinderRunState, saveFlightFinderRunState } from "../src/run-state.js"; import { DFW_BLQ_2026_PROMPT_DRAFT, normalizeFlightReportRequest } from "../src/request-normalizer.js"; test("save/load/clearFlightFinderRunState persists the resumable phase context", async () => { const baseDir = await fs.mkdtemp( path.join(os.tmpdir(), "flight-finder-run-state-") ); const request = normalizeFlightReportRequest(DFW_BLQ_2026_PROMPT_DRAFT).request; await saveFlightFinderRunState( { request, lastCompletedPhase: "search", updatedAt: "2026-03-30T21:00:00Z", reportWarnings: [], degradedReasons: [], sourceFindings: [], comparisonCurrency: "USD" }, baseDir ); const loaded = await loadFlightFinderRunState(baseDir); assert.equal(loaded?.lastCompletedPhase, "search"); assert.equal(loaded?.request.tripName, "DFW ↔ BLQ flight report"); await clearFlightFinderRunState(baseDir); assert.equal(await loadFlightFinderRunState(baseDir), null); });