Spaces:
Sleeping
Sleeping
File size: 904 Bytes
7dc28be | 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 | import { describe, expect, it } from 'vitest';
import { z } from 'zod';
import { DocumentIdParameter } from './types.js';
describe('shared tool parameter schemas', () => {
it('rejects unknown top-level keys', () => {
const result = DocumentIdParameter.safeParse({
documentId: 'doc-123',
folderId: 'wrong-key',
});
expect(result.success).toBe(false);
if (!result.success) {
expect(result.error.issues[0]?.code).toBe('unrecognized_keys');
expect(result.error.issues[0]).toMatchObject({ keys: ['folderId'] });
}
});
it('keeps strict mode when shared schemas are extended by tools', () => {
const extended = DocumentIdParameter.extend({
title: z.string(),
});
const result = extended.safeParse({
documentId: 'doc-123',
title: 'Report',
folderId: 'wrong-key',
});
expect(result.success).toBe(false);
});
});
|