summaryrefslogtreecommitdiff
path: root/packages/core/src/tools/write-file.test.ts
diff options
context:
space:
mode:
authorchristine betts <[email protected]>2025-08-06 17:36:05 +0000
committerGitHub <[email protected]>2025-08-06 17:36:05 +0000
commitfde9849d48e3b92377aca2eecfd390ebce288692 (patch)
tree90c09c3dfce161ed6adb1d71c33fb432c1708614 /packages/core/src/tools/write-file.test.ts
parent487818df276dc66827ce0f469f84bcae56a70801 (diff)
[ide-mode] Add support for in-IDE diff handling in the CLI (#5603)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Diffstat (limited to 'packages/core/src/tools/write-file.test.ts')
-rw-r--r--packages/core/src/tools/write-file.test.ts29
1 files changed, 26 insertions, 3 deletions
diff --git a/packages/core/src/tools/write-file.test.ts b/packages/core/src/tools/write-file.test.ts
index fe662a02..563579bb 100644
--- a/packages/core/src/tools/write-file.test.ts
+++ b/packages/core/src/tools/write-file.test.ts
@@ -55,6 +55,9 @@ const mockConfigInternal = {
getApprovalMode: vi.fn(() => ApprovalMode.DEFAULT),
setApprovalMode: vi.fn(),
getGeminiClient: vi.fn(), // Initialize as a plain mock function
+ getIdeClient: vi.fn(),
+ getIdeMode: vi.fn(() => false),
+ getIdeModeFeature: vi.fn(() => false),
getWorkspaceContext: () => createMockWorkspaceContext(rootDir),
getApiKey: () => 'test-key',
getModel: () => 'test-model',
@@ -110,6 +113,14 @@ describe('WriteFileTool', () => {
mockConfigInternal.getGeminiClient.mockReturnValue(
mockGeminiClientInstance,
);
+ mockConfigInternal.getIdeClient.mockReturnValue({
+ openDiff: vi.fn(),
+ closeDiff: vi.fn(),
+ getIdeContext: vi.fn(),
+ subscribeToIdeContext: vi.fn(),
+ isCodeTrackerEnabled: vi.fn(),
+ getTrackedCode: vi.fn(),
+ });
tool = new WriteFileTool(mockConfig);
@@ -500,7 +511,11 @@ describe('WriteFileTool', () => {
params,
abortSignal,
);
- if (typeof confirmDetails === 'object' && confirmDetails.onConfirm) {
+ if (
+ typeof confirmDetails === 'object' &&
+ 'onConfirm' in confirmDetails &&
+ confirmDetails.onConfirm
+ ) {
await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
}
@@ -554,7 +569,11 @@ describe('WriteFileTool', () => {
params,
abortSignal,
);
- if (typeof confirmDetails === 'object' && confirmDetails.onConfirm) {
+ if (
+ typeof confirmDetails === 'object' &&
+ 'onConfirm' in confirmDetails &&
+ confirmDetails.onConfirm
+ ) {
await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
}
@@ -595,7 +614,11 @@ describe('WriteFileTool', () => {
params,
abortSignal,
);
- if (typeof confirmDetails === 'object' && confirmDetails.onConfirm) {
+ if (
+ typeof confirmDetails === 'object' &&
+ 'onConfirm' in confirmDetails &&
+ confirmDetails.onConfirm
+ ) {
await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
}