Keyboard short cuts (#6711)

Co-authored-by: Douwe Osinga <douwe@squareup.com>
This commit is contained in:
Douwe Osinga
2026-01-27 14:51:22 -05:00
committed by GitHub
parent 5827ea4743
commit b5700461cc
8 changed files with 932 additions and 536 deletions
+52
View File
@@ -2,6 +2,24 @@ import '@testing-library/jest-dom';
import { vi, afterEach } from 'vitest';
import { cleanup } from '@testing-library/react';
// Mock Electron modules before any imports
vi.mock('electron', () => ({
app: {
getPath: vi.fn((name: string) => {
if (name === 'userData') return '/tmp/test-user-data';
if (name === 'temp') return '/tmp';
if (name === 'home') return '/tmp/home';
return '/tmp';
}),
},
ipcRenderer: {
invoke: vi.fn(),
send: vi.fn(),
on: vi.fn(),
off: vi.fn(),
},
}));
// This is the standard setup to ensure that React Testing Library's
// automatic cleanup runs after each test.
afterEach(() => {
@@ -23,3 +41,37 @@ Object.assign(navigator, {
writeText: vi.fn(() => Promise.resolve()),
},
});
// Mock window.electron for renderer process
Object.defineProperty(window, 'electron', {
writable: true,
value: {
platform: 'darwin',
getSettings: vi.fn(() =>
Promise.resolve({
envToggles: {
GOOSE_SERVER__MEMORY: false,
GOOSE_SERVER__COMPUTER_CONTROLLER: false,
},
showMenuBarIcon: true,
showDockIcon: true,
enableWakelock: false,
spellcheckEnabled: true,
keyboardShortcuts: {
focusWindow: 'CommandOrControl+Alt+G',
quickLauncher: 'CommandOrControl+Alt+Shift+G',
newChat: 'CommandOrControl+T',
newChatWindow: 'CommandOrControl+N',
openDirectory: 'CommandOrControl+O',
settings: 'CommandOrControl+,',
find: 'CommandOrControl+F',
findNext: 'CommandOrControl+G',
findPrevious: 'CommandOrControl+Shift+G',
alwaysOnTop: 'CommandOrControl+Shift+T',
},
})
),
saveSettings: vi.fn(() => Promise.resolve(true)),
showMessageBox: vi.fn(() => Promise.resolve({ response: 0 })),
},
});