From 34b5dc7f289dc9af0a87d3a795e681d2415da3c9 Mon Sep 17 00:00:00 2001 From: shrutip90 Date: Fri, 8 Aug 2025 11:02:27 -0700 Subject: Add FolderTrustDialog that shows on launch and enables folderTrust setting (#5815) --- .../src/ui/components/FolderTrustDialog.test.tsx | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/cli/src/ui/components/FolderTrustDialog.test.tsx (limited to 'packages/cli/src/ui/components/FolderTrustDialog.test.tsx') diff --git a/packages/cli/src/ui/components/FolderTrustDialog.test.tsx b/packages/cli/src/ui/components/FolderTrustDialog.test.tsx new file mode 100644 index 00000000..01394d0f --- /dev/null +++ b/packages/cli/src/ui/components/FolderTrustDialog.test.tsx @@ -0,0 +1,29 @@ +/** + * @license + * Copyright 2025 Google LLC + * SPDX-License-Identifier: Apache-2.0 + */ + +import { render } from 'ink-testing-library'; +import { vi } from 'vitest'; +import { FolderTrustDialog, FolderTrustChoice } from './FolderTrustDialog.js'; + +describe('FolderTrustDialog', () => { + it('should render the dialog with title and description', () => { + const { lastFrame } = render(); + + expect(lastFrame()).toContain('Do you trust this folder?'); + expect(lastFrame()).toContain( + 'Trusting a folder allows Gemini to execute commands it suggests.', + ); + }); + + it('should call onSelect with DO_NOT_TRUST when escape is pressed', () => { + const onSelect = vi.fn(); + const { stdin } = render(); + + stdin.write('\u001B'); // Simulate escape key + + expect(onSelect).toHaveBeenCalledWith(FolderTrustChoice.DO_NOT_TRUST); + }); +}); -- cgit v1.2.3