summaryrefslogtreecommitdiff
path: root/packages/core/src/tools/write-file.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'packages/core/src/tools/write-file.test.ts')
-rw-r--r--packages/core/src/tools/write-file.test.ts28
1 files changed, 27 insertions, 1 deletions
diff --git a/packages/core/src/tools/write-file.test.ts b/packages/core/src/tools/write-file.test.ts
index 965e9476..fe662a02 100644
--- a/packages/core/src/tools/write-file.test.ts
+++ b/packages/core/src/tools/write-file.test.ts
@@ -13,7 +13,7 @@ import {
vi,
type Mocked,
} from 'vitest';
-import { WriteFileTool } from './write-file.js';
+import { WriteFileTool, WriteFileToolParams } from './write-file.js';
import {
FileDiff,
ToolConfirmationOutcome,
@@ -202,6 +202,32 @@ describe('WriteFileTool', () => {
`Path is a directory, not a file: ${dirAsFilePath}`,
);
});
+
+ it('should return error if the content is null', () => {
+ const dirAsFilePath = path.join(rootDir, 'a_directory');
+ fs.mkdirSync(dirAsFilePath);
+ const params = {
+ file_path: dirAsFilePath,
+ content: null,
+ } as unknown as WriteFileToolParams; // Intentionally non-conforming
+ expect(tool.validateToolParams(params)).toMatch(
+ `params/content must be string`,
+ );
+ });
+ });
+
+ describe('getDescription', () => {
+ it('should return error if the file_path is empty', () => {
+ const dirAsFilePath = path.join(rootDir, 'a_directory');
+ fs.mkdirSync(dirAsFilePath);
+ const params = {
+ file_path: '',
+ content: '',
+ };
+ expect(tool.getDescription(params)).toMatch(
+ `Model did not provide valid parameters for write file tool, missing or empty "file_path"`,
+ );
+ });
});
describe('_getCorrectedFileContent', () => {