test(workflow-utils): add error path tests for createLlmAdapter

Cover non-ok HTTP response (500) and network failure (ECONNREFUSED).
Per review feedback from 星月 🌙 on PR #278.
This commit is contained in:
2026-04-30 13:07:19 +00:00
parent b7200ce51c
commit 06b91c2e63
@@ -51,4 +51,28 @@ describe("createLlmAdapter", () => {
{ role: "user", content: "trigger text" }, { role: "user", content: "trigger text" },
]); ]);
}); });
it("throws on non-ok fetch response", async () => {
const fetchMock = vi.fn().mockResolvedValue({
ok: false,
status: 500,
text: async () => "Internal Server Error",
});
vi.stubGlobal("fetch", fetchMock);
const provider = { baseUrl: "https://api.example/v1", apiKey: "k", model: "m" };
const adapter = createLlmAdapter(provider);
await expect(adapter(makeCtx("t1", "hi"), "sys")).rejects.toThrow("llm:");
});
it("throws on fetch network failure", async () => {
const fetchMock = vi.fn().mockRejectedValue(new Error("ECONNREFUSED"));
vi.stubGlobal("fetch", fetchMock);
const provider = { baseUrl: "https://api.example/v1", apiKey: "k", model: "m" };
const adapter = createLlmAdapter(provider);
await expect(adapter(makeCtx("t1", "hi"), "sys")).rejects.toThrow();
});
}); });