summaryrefslogtreecommitdiff
path: root/packages/cli/src/ui/hooks/useShellHistory.test.ts
diff options
context:
space:
mode:
authorLouis Jimenez <[email protected]>2025-06-19 23:53:24 -0400
committerGitHub <[email protected]>2025-06-19 23:53:24 -0400
commitea63a8401e6558bdd67d556812ed065b4bb07e9e (patch)
tree851b13a591e2af568344b52cd0bf523ede93a10d /packages/cli/src/ui/hooks/useShellHistory.test.ts
parent7a419282c82ca950f189ca778b6758337d1e7857 (diff)
Move the shell history our of the project .gemini to the home dir (#1195)
Diffstat (limited to 'packages/cli/src/ui/hooks/useShellHistory.test.ts')
-rw-r--r--packages/cli/src/ui/hooks/useShellHistory.test.ts25
1 files changed, 23 insertions, 2 deletions
diff --git a/packages/cli/src/ui/hooks/useShellHistory.test.ts b/packages/cli/src/ui/hooks/useShellHistory.test.ts
index 47fc5c62..8d030497 100644
--- a/packages/cli/src/ui/hooks/useShellHistory.test.ts
+++ b/packages/cli/src/ui/hooks/useShellHistory.test.ts
@@ -7,16 +7,30 @@
import { renderHook, act, waitFor } from '@testing-library/react';
import { useShellHistory } from './useShellHistory.js';
import * as fs from 'fs/promises';
-import path from 'path';
+import * as path from 'path';
+import * as os from 'os';
+import * as crypto from 'crypto';
vi.mock('fs/promises');
+vi.mock('os');
+vi.mock('crypto');
const MOCKED_PROJECT_ROOT = '/test/project';
-const MOCKED_HISTORY_DIR = path.join(MOCKED_PROJECT_ROOT, '.gemini');
+const MOCKED_HOME_DIR = '/test/home';
+const MOCKED_PROJECT_HASH = 'mocked_hash';
+
+const MOCKED_HISTORY_DIR = path.join(
+ MOCKED_HOME_DIR,
+ '.gemini',
+ 'tmp',
+ MOCKED_PROJECT_HASH,
+);
const MOCKED_HISTORY_FILE = path.join(MOCKED_HISTORY_DIR, 'shell_history');
describe('useShellHistory', () => {
const mockedFs = vi.mocked(fs);
+ const mockedOs = vi.mocked(os);
+ const mockedCrypto = vi.mocked(crypto);
beforeEach(() => {
vi.resetAllMocks();
@@ -24,6 +38,13 @@ describe('useShellHistory', () => {
mockedFs.readFile.mockResolvedValue('');
mockedFs.writeFile.mockResolvedValue(undefined);
mockedFs.mkdir.mockResolvedValue(undefined);
+ mockedOs.homedir.mockReturnValue(MOCKED_HOME_DIR);
+
+ const hashMock = {
+ update: vi.fn().mockReturnThis(),
+ digest: vi.fn().mockReturnValue(MOCKED_PROJECT_HASH),
+ };
+ mockedCrypto.createHash.mockReturnValue(hashMock as never);
});
it('should initialize and read the history file from the correct path', async () => {