@@ -284,11 +284,12 @@ describe('SkillPresenter', () => {
284284 expect ( fs . existsSync ) . toHaveBeenCalled ( )
285285 } )
286286
287- it ( 'should use configured skills path when provided' , ( ) => {
287+ it ( 'should use configured skills path when provided' , async ( ) => {
288288 ; ( mockConfigPresenter . getSkillsPath as Mock ) . mockReturnValue ( '/custom/skills/path' )
289289
290290 const presenter = new SkillPresenter ( mockConfigPresenter , skillSessionStatePort as any )
291291 expect ( mockConfigPresenter . getSkillsPath ) . toHaveBeenCalled ( )
292+ await expect ( presenter . getSkillsDir ( ) ) . resolves . toBe ( '/custom/skills/path' )
292293 presenter . destroy ( )
293294 } )
294295
@@ -312,6 +313,36 @@ describe('SkillPresenter', () => {
312313 await expect ( presenter . getSkillsDir ( ) ) . resolves . toBe ( '/mock/home/.deepchat/skills' )
313314 presenter . destroy ( )
314315 } )
316+
317+ it ( 'should repair stale POSIX default skills paths from another user profile' , async ( ) => {
318+ ; ( mockConfigPresenter . getSkillsPath as Mock ) . mockReturnValue (
319+ '/Users/legacy-user/.deepchat/skills'
320+ )
321+ ; ( app . getPath as Mock ) . mockImplementation ( ( name : string ) => {
322+ if ( name === 'home' ) return '/mock/home'
323+ if ( name === 'temp' ) return '/mock/temp'
324+ return '/mock/' + name
325+ } )
326+
327+ const presenter = new SkillPresenter ( mockConfigPresenter , skillSessionStatePort as any )
328+ await expect ( presenter . getSkillsDir ( ) ) . resolves . toBe ( '/mock/home/.deepchat/skills' )
329+ presenter . destroy ( )
330+ } )
331+
332+ it ( 'should repair stale Windows default skills paths from another user profile' , async ( ) => {
333+ ; ( mockConfigPresenter . getSkillsPath as Mock ) . mockReturnValue (
334+ 'C:\\Users\\legacy-user\\.deepchat\\skills\\nested'
335+ )
336+ ; ( app . getPath as Mock ) . mockImplementation ( ( name : string ) => {
337+ if ( name === 'home' ) return '/mock/home'
338+ if ( name === 'temp' ) return '/mock/temp'
339+ return '/mock/' + name
340+ } )
341+
342+ const presenter = new SkillPresenter ( mockConfigPresenter , skillSessionStatePort as any )
343+ await expect ( presenter . getSkillsDir ( ) ) . resolves . toBe ( '/mock/home/.deepchat/skills/nested' )
344+ presenter . destroy ( )
345+ } )
315346 } )
316347
317348 describe ( 'getSkillsDir' , ( ) => {
0 commit comments