Adds an assertion for the suggestion route error contract in the roadmap routes test file, completing the test coverage for that endpoint. Fusion-Task-Id: FN-3163
32 lines
1005 B
TypeScript
32 lines
1005 B
TypeScript
import { describe, it, expect, vi, beforeEach } from "vitest";
|
|
import {
|
|
__resetSuggestionState,
|
|
__setCreateAiSessionFactory,
|
|
generateMilestoneSuggestions,
|
|
ServiceUnavailableError,
|
|
} from "../roadmap-suggestions.js";
|
|
|
|
describe("roadmap suggestion service", () => {
|
|
beforeEach(() => {
|
|
__resetSuggestionState();
|
|
});
|
|
|
|
it("throws when AI factory is unavailable", async () => {
|
|
await expect(generateMilestoneSuggestions("goal", 1, "/tmp/project")).rejects.toBeInstanceOf(ServiceUnavailableError);
|
|
});
|
|
|
|
it("uses PluginContext createAiSession-compatible factory", async () => {
|
|
const prompt = vi.fn().mockResolvedValue(undefined);
|
|
__setCreateAiSessionFactory(async () => ({
|
|
session: {
|
|
prompt,
|
|
state: { messages: [{ role: "assistant", content: '[{"title":"A"}]' }] },
|
|
},
|
|
}));
|
|
|
|
const result = await generateMilestoneSuggestions("goal", 1, "/tmp/project");
|
|
expect(prompt).toHaveBeenCalled();
|
|
expect(result[0]?.title).toBe("A");
|
|
});
|
|
});
|