summaryrefslogtreecommitdiff
path: root/packages/cli/src/config/trustedFolders.test.ts
diff options
context:
space:
mode:
authorshrutip90 <[email protected]>2025-08-14 11:15:48 -0700
committerGitHub <[email protected]>2025-08-14 18:15:48 +0000
commit69c55827239b5c937c177eef4b4fbcc2758ef23e (patch)
treef2dc2f1a55e64cd9a235bcf0e3d9caaa7f552b7c /packages/cli/src/config/trustedFolders.test.ts
parent69d666cfafe97e49a6cacb306df9a737d4aa9f20 (diff)
feat: Show untrusted status in the Footer (#6210)
Co-authored-by: Jacob Richman <[email protected]>
Diffstat (limited to 'packages/cli/src/config/trustedFolders.test.ts')
-rw-r--r--packages/cli/src/config/trustedFolders.test.ts21
1 files changed, 13 insertions, 8 deletions
diff --git a/packages/cli/src/config/trustedFolders.test.ts b/packages/cli/src/config/trustedFolders.test.ts
index 67bf9cfc..5f613e63 100644
--- a/packages/cli/src/config/trustedFolders.test.ts
+++ b/packages/cli/src/config/trustedFolders.test.ts
@@ -35,6 +35,7 @@ import {
TrustLevel,
isWorkspaceTrusted,
} from './trustedFolders.js';
+import { Settings } from './settings.js';
vi.mock('fs', async (importOriginal) => {
const actualFs = await importOriginal<typeof fs>();
@@ -130,6 +131,10 @@ describe('Trusted Folders Loading', () => {
describe('isWorkspaceTrusted', () => {
let mockCwd: string;
const mockRules: Record<string, TrustLevel> = {};
+ const mockSettings: Settings = {
+ folderTrustFeature: true,
+ folderTrust: true,
+ };
beforeEach(() => {
vi.spyOn(process, 'cwd').mockImplementation(() => mockCwd);
@@ -153,51 +158,51 @@ describe('isWorkspaceTrusted', () => {
it('should return true for a directly trusted folder', () => {
mockCwd = '/home/user/projectA';
mockRules['/home/user/projectA'] = TrustLevel.TRUST_FOLDER;
- expect(isWorkspaceTrusted()).toBe(true);
+ expect(isWorkspaceTrusted(mockSettings)).toBe(true);
});
it('should return true for a child of a trusted folder', () => {
mockCwd = '/home/user/projectA/src';
mockRules['/home/user/projectA'] = TrustLevel.TRUST_FOLDER;
- expect(isWorkspaceTrusted()).toBe(true);
+ expect(isWorkspaceTrusted(mockSettings)).toBe(true);
});
it('should return true for a child of a trusted parent folder', () => {
mockCwd = '/home/user/projectB';
mockRules['/home/user/projectB/somefile.txt'] = TrustLevel.TRUST_PARENT;
- expect(isWorkspaceTrusted()).toBe(true);
+ expect(isWorkspaceTrusted(mockSettings)).toBe(true);
});
it('should return false for a directly untrusted folder', () => {
mockCwd = '/home/user/untrusted';
mockRules['/home/user/untrusted'] = TrustLevel.DO_NOT_TRUST;
- expect(isWorkspaceTrusted()).toBe(false);
+ expect(isWorkspaceTrusted(mockSettings)).toBe(false);
});
it('should return undefined for a child of an untrusted folder', () => {
mockCwd = '/home/user/untrusted/src';
mockRules['/home/user/untrusted'] = TrustLevel.DO_NOT_TRUST;
- expect(isWorkspaceTrusted()).toBeUndefined();
+ expect(isWorkspaceTrusted(mockSettings)).toBeUndefined();
});
it('should return undefined when no rules match', () => {
mockCwd = '/home/user/other';
mockRules['/home/user/projectA'] = TrustLevel.TRUST_FOLDER;
mockRules['/home/user/untrusted'] = TrustLevel.DO_NOT_TRUST;
- expect(isWorkspaceTrusted()).toBeUndefined();
+ expect(isWorkspaceTrusted(mockSettings)).toBeUndefined();
});
it('should prioritize trust over distrust', () => {
mockCwd = '/home/user/projectA/untrusted';
mockRules['/home/user/projectA'] = TrustLevel.TRUST_FOLDER;
mockRules['/home/user/projectA/untrusted'] = TrustLevel.DO_NOT_TRUST;
- expect(isWorkspaceTrusted()).toBe(true);
+ expect(isWorkspaceTrusted(mockSettings)).toBe(true);
});
it('should handle path normalization', () => {
mockCwd = '/home/user/projectA';
mockRules[`/home/user/../user/${path.basename('/home/user/projectA')}`] =
TrustLevel.TRUST_FOLDER;
- expect(isWorkspaceTrusted()).toBe(true);
+ expect(isWorkspaceTrusted(mockSettings)).toBe(true);
});
});