diff --git a/src/main/pty-service.yuheard.test.ts b/src/main/pty-service.yuheard.test.ts index 614dde2..635fafa 100644 --- a/src/main/pty-service.yuheard.test.ts +++ b/src/main/pty-service.yuheard.test.ts @@ -12,6 +12,16 @@ const mocks = vi.hoisted(() => ({ })) vi.mock('node-pty', () => ({ spawn: mocks.spawn })) +vi.mock('fs', async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + // GitHub runners do not install Fish. Keep shell discovery out of this + // file: pretend the first POSIX candidate exists so spawn stays Fish. + existsSync: (p: Parameters[0]) => + String(p) === '/usr/bin/fish' || actual.existsSync(p), + } +}) vi.mock('./yuheard-wrapper', () => ({ bashKeepWrapPrompt: vi.fn((dir: string) => `PATH=${dir}:$PATH`), codexNotifyArgv: vi.fn(() => ['-c', 'notify=[]']),