@@ -2,34 +2,43 @@ import vscode from '../mock/vscode';
22import sinon from 'sinon' ;
33import { expect } from 'chai' ;
44import PickCopilotModelCommand from '../../../src/commands/pickCopilotModel' ;
5+ import { addMockChatModel , resetModelMocks } from '../mock/vscode/lm' ;
6+ import { LanguageModelChat } from 'vscode' ;
57
68describe ( 'pickCopilotModel' , ( ) => {
79 describe ( 'execute' , ( ) => {
8- let models : Record < string , unknown > [ ] ;
10+ let models : LanguageModelChat [ ] ;
911 let executeCommandStub : sinon . SinonStub ;
1012 let showQuickPickStub : sinon . SinonStub ;
1113 let showErrorMessageStub : sinon . SinonStub ;
1214 const chosenModel = 'claude-3.5-sonnet' ;
1315 beforeEach ( ( ) => {
1416 models = [
15- { id : 'gpt-4o' , name : 'GPT-4o' , maxInputTokens : 325 , family : 'copilot' } ,
17+ {
18+ id : 'gpt-4o' ,
19+ name : 'GPT-4o' ,
20+ maxInputTokens : 325 ,
21+ family : 'copilot' ,
22+ } as LanguageModelChat ,
1623 {
1724 id : 'claude-3.5-sonnet' ,
1825 name : 'Claude 3.5 Sonnet' ,
1926 maxInputTokens : 325 ,
2027 family : 'copilot' ,
21- } ,
28+ } as LanguageModelChat ,
2229 ] ;
2330 showQuickPickStub = sinon . stub ( vscode . window , 'showQuickPick' ) . callsFake ( ( ) => ( {
2431 details : chosenModel ,
2532 } ) ) ;
2633 showErrorMessageStub = sinon . stub ( vscode . window , 'showErrorMessage' ) . resolves ( ) ;
2734 executeCommandStub = sinon . stub ( vscode . commands , 'executeCommand' ) . resolves ( ) ;
2835 sinon . stub ( vscode . lm , 'selectChatModels' ) . callsFake ( ( ) => models as any ) ; // eslint-disable-line @typescript-eslint/no-explicit-any
36+ models . forEach ( ( m ) => addMockChatModel ( m ) ) ;
2937 } ) ;
3038
3139 afterEach ( ( ) => {
3240 sinon . restore ( ) ;
41+ resetModelMocks ( ) ;
3342 } ) ;
3443
3544 const setPreferredModel = ( model : string | undefined ) =>
@@ -51,11 +60,6 @@ describe('pickCopilotModel', () => {
5160 expect ( executeCommandStub . called ) . to . be . false ;
5261 } ) ;
5362
54- it ( 'restarts the RPC server' , async ( ) => {
55- await PickCopilotModelCommand . execute ( ) ;
56- expect ( executeCommandStub . calledWith ( 'appmap.rpc.restart' ) ) . to . be . true ;
57- } ) ;
58-
5963 it ( 'does nothing if the user cancels the quick pick' , async ( ) => {
6064 showQuickPickStub . resolves ( undefined ) ;
6165 setPreferredModel ( chosenModel ) ;
0 commit comments