@@ -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