diff options
| author | Preston Holmes <[email protected]> | 2025-06-27 08:46:27 -0700 |
|---|---|---|
| committer | GitHub <[email protected]> | 2025-06-27 15:46:27 +0000 |
| commit | 3aabb940f5b66aaed340d20bf4decfa6c40330cc (patch) | |
| tree | 10e4953a5f2290a43adb14314fe2e95c738cdd1f /packages/cli/src/ui/hooks/slashCommandProcessor.test.ts | |
| parent | 3ebf54f367bb9bf737dc78702186d42501cbc0a6 (diff) | |
Add the current auth method and GCP Project config to the about message (#2112)
Diffstat (limited to 'packages/cli/src/ui/hooks/slashCommandProcessor.test.ts')
| -rw-r--r-- | packages/cli/src/ui/hooks/slashCommandProcessor.test.ts | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts index 09d2acab..01954670 100644 --- a/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts +++ b/packages/cli/src/ui/hooks/slashCommandProcessor.test.ts @@ -336,6 +336,89 @@ describe('useSlashCommandProcessor', () => { }); }); + describe('/about command', () => { + it('should show the about box with all details including auth and project', async () => { + // Arrange + mockGetCliVersionFn.mockResolvedValue('test-version'); + process.env.SANDBOX = 'gemini-sandbox'; + process.env.GOOGLE_CLOUD_PROJECT = 'test-gcp-project'; + vi.mocked(mockConfig.getModel).mockReturnValue('test-model-from-config'); + + const settings = { + merged: { + selectedAuthType: 'test-auth-type', + contextFileName: 'GEMINI.md', + }, + } as LoadedSettings; + + const { result } = renderHook(() => + useSlashCommandProcessor( + mockConfig, + settings, + [], + mockAddItem, + mockClearItems, + mockLoadHistory, + mockRefreshStatic, + mockSetShowHelp, + mockOnDebugMessage, + mockOpenThemeDialog, + mockOpenAuthDialog, + mockOpenEditorDialog, + mockPerformMemoryRefresh, + mockCorgiMode, + false, + mockSetQuittingMessages, + ), + ); + + // Act + await act(async () => { + await result.current.handleSlashCommand('/about'); + }); + + // Assert + expect(mockAddItem).toHaveBeenCalledTimes(2); // user message + about message + expect(mockAddItem).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + type: 'about', + cliVersion: 'test-version', + osVersion: 'test-platform', + sandboxEnv: 'gemini-sandbox', + modelVersion: 'test-model-from-config', + selectedAuthType: 'test-auth-type', + gcpProject: 'test-gcp-project', + }), + expect.any(Number), + ); + }); + + it('should show sandbox-exec profile when applicable', async () => { + // Arrange + mockGetCliVersionFn.mockResolvedValue('test-version'); + process.env.SANDBOX = 'sandbox-exec'; + process.env.SEATBELT_PROFILE = 'test-profile'; + vi.mocked(mockConfig.getModel).mockReturnValue('test-model-from-config'); + + const { result } = getProcessorHook(); + + // Act + await act(async () => { + await result.current.handleSlashCommand('/about'); + }); + + // Assert + expect(mockAddItem).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + sandboxEnv: 'sandbox-exec (test-profile)', + }), + expect.any(Number), + ); + }); + }); + describe('Other commands', () => { it('/help should open help and return true', async () => { const { handleSlashCommand } = getProcessor(); |
