@@ -26,15 +26,16 @@ describe('promptForAgents', () => {
2626 vi . clearAllMocks ( ) ;
2727 } ) ;
2828
29- it ( 'should use empty initial selection when no history exists' , async ( ) => {
29+ it ( 'should use default agents (claude-code, opencode, codex) when no history exists' , async ( ) => {
3030 vi . mocked ( skillLock . getLastSelectedAgents ) . mockResolvedValue ( undefined ) ;
3131 vi . mocked ( searchMultiselectModule . searchMultiselect ) . mockResolvedValue ( [ 'opencode' ] ) ;
3232
3333 await promptForAgents ( 'Select agents' , choices ) ;
3434
35+ // Should default to claude-code, opencode, codex (filtered by available choices)
3536 expect ( searchMultiselectModule . searchMultiselect ) . toHaveBeenCalledWith (
3637 expect . objectContaining ( {
37- initialSelected : [ ] ,
38+ initialSelected : [ 'claude-code' , 'opencode' ] ,
3839 } )
3940 ) ;
4041 } ) ;
@@ -65,15 +66,17 @@ describe('promptForAgents', () => {
6566 ) ;
6667 } ) ;
6768
68- it ( 'should use empty list if all history agents are invalid' , async ( ) => {
69+ it ( 'should use default agents if all history agents are invalid' , async ( ) => {
6970 vi . mocked ( skillLock . getLastSelectedAgents ) . mockResolvedValue ( [ 'invalid-agent' ] ) ;
7071 vi . mocked ( searchMultiselectModule . searchMultiselect ) . mockResolvedValue ( [ 'opencode' ] ) ;
7172
7273 await promptForAgents ( 'Select agents' , choices ) ;
7374
75+ // When history is invalid, should fall back to defaults (claude-code, opencode, codex)
76+ // filtered by available choices
7477 expect ( searchMultiselectModule . searchMultiselect ) . toHaveBeenCalledWith (
7578 expect . objectContaining ( {
76- initialSelected : [ ] ,
79+ initialSelected : [ 'claude-code' , 'opencode' ] ,
7780 } )
7881 ) ;
7982 } ) ;
0 commit comments