diff --git a/src/slack/draft-stream.test.ts b/src/slack/draft-stream.test.ts index 1ba92e28de..6103ecb07e 100644 --- a/src/slack/draft-stream.test.ts +++ b/src/slack/draft-stream.test.ts @@ -1,24 +1,30 @@ import { describe, expect, it, vi } from "vitest"; import { createSlackDraftStream } from "./draft-stream.js"; +type DraftStreamParams = Parameters[0]; +type DraftSendFn = NonNullable; +type DraftEditFn = NonNullable; +type DraftRemoveFn = NonNullable; +type DraftWarnFn = NonNullable; + function createDraftStreamHarness( params: { maxChars?: number; - send?: ReturnType; - edit?: ReturnType; - remove?: ReturnType; - warn?: ReturnType; + send?: DraftSendFn; + edit?: DraftEditFn; + remove?: DraftRemoveFn; + warn?: DraftWarnFn; } = {}, ) { const send = params.send ?? - vi.fn(async () => ({ + vi.fn(async () => ({ channelId: "C123", messageId: "111.222", })); - const edit = params.edit ?? vi.fn(async () => {}); - const remove = params.remove ?? vi.fn(async () => {}); - const warn = params.warn ?? vi.fn(); + const edit = params.edit ?? vi.fn(async () => {}); + const remove = params.remove ?? vi.fn(async () => {}); + const warn = params.warn ?? vi.fn(); const stream = createSlackDraftStream({ target: "channel:C123", token: "xoxb-test", @@ -63,7 +69,7 @@ describe("createSlackDraftStream", () => { it("supports forceNewMessage for subsequent assistant messages", async () => { const send = vi - .fn() + .fn() .mockResolvedValueOnce({ channelId: "C123", messageId: "111.222" }) .mockResolvedValueOnce({ channelId: "C123", messageId: "333.444" }); const { stream, edit } = createDraftStreamHarness({ send }); @@ -117,10 +123,10 @@ describe("createSlackDraftStream", () => { }); it("clear warns when cleanup fails", async () => { - const remove = vi.fn(async () => { + const remove = vi.fn(async () => { throw new Error("cleanup failed"); }); - const warn = vi.fn(); + const warn = vi.fn(); const { stream } = createDraftStreamHarness({ remove, warn }); stream.update("hello");