From cdc6f023c9f8678296ff14a8fc1abee56e247d54 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 12 Apr 2026 10:16:07 +0100 Subject: [PATCH] test(commands): share qmd orphan transcript setup --- src/commands/doctor-state-integrity.test.ts | 47 +++++++++------------ 1 file changed, 19 insertions(+), 28 deletions(-) diff --git a/src/commands/doctor-state-integrity.test.ts b/src/commands/doctor-state-integrity.test.ts index 0271d61c6a4..3f8eb3aca6a 100644 --- a/src/commands/doctor-state-integrity.test.ts +++ b/src/commands/doctor-state-integrity.test.ts @@ -94,6 +94,23 @@ async function runStateIntegrityText(cfg: OpenClawConfig): Promise { return stateIntegrityText(); } +async function runOrphanTranscriptCheckWithQmdSessions(enabled: boolean, homeDir: string) { + const cfg: OpenClawConfig = { + memory: { + backend: "qmd", + qmd: { + sessions: { enabled }, + }, + }, + }; + setupSessionState(cfg, process.env, homeDir); + const sessionsDir = resolveSessionTranscriptsDirForAgent("main", process.env, () => homeDir); + fs.writeFileSync(path.join(sessionsDir, "orphan-session.jsonl"), '{"type":"session"}\n'); + const confirmRuntimeRepair = vi.fn(async () => false); + await noteStateIntegrity(cfg, { confirmRuntimeRepair, note: noteMock }); + return confirmRuntimeRepair; +} + describe("doctor state integrity oauth dir checks", () => { let envSnapshot: EnvSnapshot; let tempHome = ""; @@ -282,20 +299,7 @@ describe("doctor state integrity oauth dir checks", () => { }); it("suppresses orphan transcript warnings when QMD sessions are enabled", async () => { - const cfg: OpenClawConfig = { - memory: { - backend: "qmd", - qmd: { - sessions: { enabled: true }, - }, - }, - }; - setupSessionState(cfg, process.env, process.env.HOME ?? ""); - const sessionsDir = resolveSessionTranscriptsDirForAgent("main", process.env, () => tempHome); - fs.writeFileSync(path.join(sessionsDir, "orphan-session.jsonl"), '{"type":"session"}\n'); - - const confirmRuntimeRepair = vi.fn(async () => false); - await noteStateIntegrity(cfg, { confirmRuntimeRepair, note: noteMock }); + const confirmRuntimeRepair = await runOrphanTranscriptCheckWithQmdSessions(true, tempHome); expect(stateIntegrityText()).not.toContain( "These .jsonl files are no longer referenced by sessions.json", @@ -304,20 +308,7 @@ describe("doctor state integrity oauth dir checks", () => { }); it("still detects orphan transcripts when QMD sessions are disabled", async () => { - const cfg: OpenClawConfig = { - memory: { - backend: "qmd", - qmd: { - sessions: { enabled: false }, - }, - }, - }; - setupSessionState(cfg, process.env, process.env.HOME ?? ""); - const sessionsDir = resolveSessionTranscriptsDirForAgent("main", process.env, () => tempHome); - fs.writeFileSync(path.join(sessionsDir, "orphan-session.jsonl"), '{"type":"session"}\n'); - - const confirmRuntimeRepair = vi.fn(async () => false); - await noteStateIntegrity(cfg, { confirmRuntimeRepair, note: noteMock }); + const confirmRuntimeRepair = await runOrphanTranscriptCheckWithQmdSessions(false, tempHome); expect(stateIntegrityText()).toContain( "These .jsonl files are no longer referenced by sessions.json",