Skip to content

Commit 650c515

Browse files
committed
test(webview): cover Kimi Code model selection
1 parent f1ca5fe commit 650c515

1 file changed

Lines changed: 45 additions & 0 deletions

File tree

webview-ui/src/components/ui/hooks/__tests__/useSelectedModel.spec.ts

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ import {
2323
vscodeLlmDefaultModelId,
2424
moonshotDefaultModelId,
2525
moonshotModels,
26+
kimiCodeDefaultModelInfo,
2627
providerIdentifiers,
2728
} from "@roo-code/types"
2829

@@ -1079,6 +1080,50 @@ describe("useSelectedModel", () => {
10791080
})
10801081
})
10811082

1083+
describe("Kimi Code provider", () => {
1084+
it("should resolve the configured model from router models", () => {
1085+
const modelInfo: ModelInfo = {
1086+
...kimiCodeDefaultModelInfo,
1087+
description: "Configured Kimi Code model",
1088+
}
1089+
1090+
mockUseRouterModels.mockReturnValue({
1091+
data: { "kimi-code": { "kimi-for-coding": modelInfo } },
1092+
isLoading: false,
1093+
isError: false,
1094+
} as any)
1095+
1096+
const apiConfiguration: ProviderSettings = {
1097+
apiProvider: providerIdentifiers.kimiCode,
1098+
apiModelId: "kimi-for-coding",
1099+
}
1100+
1101+
const wrapper = createWrapper()
1102+
const { result } = renderHook(() => useSelectedModel(apiConfiguration), { wrapper })
1103+
1104+
expect(result.current.provider).toBe(providerIdentifiers.kimiCode)
1105+
expect(result.current.id).toBe("kimi-for-coding")
1106+
expect(result.current.info).toEqual(modelInfo)
1107+
})
1108+
})
1109+
1110+
it("should reject providers unsupported by model selection", () => {
1111+
const consoleError = vi.spyOn(console, "error").mockImplementation(() => undefined)
1112+
const preventExpectedError = (event: ErrorEvent) => event.preventDefault()
1113+
window.addEventListener("error", preventExpectedError)
1114+
const apiConfiguration = {
1115+
apiProvider: "unsupported-provider",
1116+
} as unknown as ProviderSettings
1117+
1118+
const wrapper = createWrapper()
1119+
1120+
expect(() => renderHook(() => useSelectedModel(apiConfiguration), { wrapper })).toThrow(
1121+
"Unsupported provider: unsupported-provider",
1122+
)
1123+
window.removeEventListener("error", preventExpectedError)
1124+
consoleError.mockRestore()
1125+
})
1126+
10821127
describe("moonshot provider", () => {
10831128
beforeEach(() => {
10841129
mockUseRouterModels.mockReturnValue({

0 commit comments

Comments
 (0)