blob: 61497b3e875c3d164aee31d214fd11636efdfa1d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
/**
* @license
* Copyright 2025 Google LLC
* SPDX-License-Identifier: Apache-2.0
*/
import { vi } from 'vitest';
import { WorkspaceContext } from '../utils/workspaceContext.js';
/**
* Creates a mock WorkspaceContext for testing
* @param rootDir The root directory to use for the mock
* @param additionalDirs Optional additional directories to include in the workspace
* @returns A mock WorkspaceContext instance
*/
export function createMockWorkspaceContext(
rootDir: string,
additionalDirs: string[] = [],
): WorkspaceContext {
const allDirs = [rootDir, ...additionalDirs];
const mockWorkspaceContext = {
addDirectory: vi.fn(),
getDirectories: vi.fn().mockReturnValue(allDirs),
isPathWithinWorkspace: vi
.fn()
.mockImplementation((path: string) =>
allDirs.some((dir) => path.startsWith(dir)),
),
} as unknown as WorkspaceContext;
return mockWorkspaceContext;
}
|