From 7bca3985bb8a5b256f2ac62e819dc4727bb4c33f Mon Sep 17 00:00:00 2001 From: Wolfie Date: Thu, 30 Jul 2026 16:09:34 -0700 Subject: [PATCH] test(session): cover close drain failures --- packages/coding-agent/test/session-storage.test.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/coding-agent/test/session-storage.test.ts b/packages/coding-agent/test/session-storage.test.ts index 0cd35200a..27e5ed38b 100644 --- a/packages/coding-agent/test/session-storage.test.ts +++ b/packages/coding-agent/test/session-storage.test.ts @@ -97,6 +97,7 @@ describe("FileSessionStorage writer", () => { }); afterEach(async () => { + vi.restoreAllMocks(); await fsp.rm(tempDir, { recursive: true, force: true }); }); @@ -120,6 +121,17 @@ describe("FileSessionStorage writer", () => { expect(fs.readFileSync(sessionPath, "utf8")).toBe("one\ntwo\n"); }); + + it("rejects close when draining a queued append fails", async () => { + const sessionPath = path.join(tempDir, "close-error.jsonl"); + const writer = storage.openWriter(sessionPath, { flags: "w" }); + void writer.append("one\n"); + vi.spyOn(fs, "writeSync").mockImplementation(() => { + throw new Error("disk full"); + }); + + await expect(writer.close()).rejects.toThrow("disk full"); + }); }); describe("FileSessionStorage.deleteSessionWithArtifacts", () => {