Skip to content

Commit 06af321

Browse files
committed
Fix tests
1 parent 990bc0f commit 06af321

File tree

1 file changed

+27
-23
lines changed

1 file changed

+27
-23
lines changed

client/src/utils/__tests__/schemaUtils.test.ts

Lines changed: 27 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -11,72 +11,76 @@ import type { Tool } from "@modelcontextprotocol/sdk/types.js";
1111

1212
describe("generateDefaultValue", () => {
1313
test("generates default string", () => {
14-
expect(generateDefaultValue({ type: "string", required: true })).toBe("");
14+
const parentSchema = { type: "object" as const, required: ["testProp"] };
15+
expect(generateDefaultValue({ type: "string" }, "testProp", parentSchema)).toBe("");
1516
});
1617

1718
test("generates default number", () => {
18-
expect(generateDefaultValue({ type: "number", required: true })).toBe(0);
19+
const parentSchema = { type: "object" as const, required: ["testProp"] };
20+
expect(generateDefaultValue({ type: "number" }, "testProp", parentSchema)).toBe(0);
1921
});
2022

2123
test("generates default integer", () => {
22-
expect(generateDefaultValue({ type: "integer", required: true })).toBe(0);
24+
const parentSchema = { type: "object" as const, required: ["testProp"] };
25+
expect(generateDefaultValue({ type: "integer" }, "testProp", parentSchema)).toBe(0);
2326
});
2427

2528
test("generates default boolean", () => {
26-
expect(generateDefaultValue({ type: "boolean", required: true })).toBe(
29+
const parentSchema = { type: "object" as const, required: ["testProp"] };
30+
expect(generateDefaultValue({ type: "boolean" }, "testProp", parentSchema)).toBe(
2731
false,
2832
);
2933
});
3034

3135
test("generates default array", () => {
32-
expect(generateDefaultValue({ type: "array", required: true })).toEqual([]);
36+
expect(generateDefaultValue({ type: "array" })).toEqual([]);
3337
});
3438

3539
test("generates default empty object", () => {
36-
expect(generateDefaultValue({ type: "object", required: true })).toEqual(
40+
expect(generateDefaultValue({ type: "object" })).toEqual(
3741
{},
3842
);
3943
});
4044

4145
test("generates default null for unknown types", () => {
4246
// @ts-expect-error Testing with invalid type
43-
expect(generateDefaultValue({ type: "unknown", required: true })).toBe(
44-
null,
47+
expect(generateDefaultValue({ type: "unknown" })).toBe(
48+
undefined,
4549
);
4650
});
4751

4852
test("generates empty array for non-required array", () => {
49-
expect(generateDefaultValue({ type: "array", required: false })).toEqual(
53+
expect(generateDefaultValue({ type: "array" })).toEqual(
5054
[],
5155
);
5256
});
5357

5458
test("generates empty object for non-required object", () => {
55-
expect(generateDefaultValue({ type: "object", required: false })).toEqual(
59+
expect(generateDefaultValue({ type: "object" })).toEqual(
5660
{},
5761
);
5862
});
5963

60-
test("generates null for non-required primitive types", () => {
61-
expect(generateDefaultValue({ type: "string", required: false })).toBe(
64+
test("generates undefined for non-required primitive types", () => {
65+
expect(generateDefaultValue({ type: "string" })).toBe(
6266
undefined,
6367
);
64-
expect(generateDefaultValue({ type: "number", required: false })).toBe(
68+
expect(generateDefaultValue({ type: "number" })).toBe(
6569
undefined,
6670
);
67-
expect(generateDefaultValue({ type: "boolean", required: false })).toBe(
71+
expect(generateDefaultValue({ type: "boolean" })).toBe(
6872
undefined,
6973
);
7074
});
7175

7276
test("generates object with properties", () => {
7377
const schema: JsonSchemaType = {
7478
type: "object",
75-
required: true,
79+
required: ["name", "age", "isActive"],
7680
properties: {
77-
name: { type: "string", required: true },
78-
age: { type: "number", required: true },
79-
isActive: { type: "boolean", required: true },
81+
name: { type: "string" },
82+
age: { type: "number" },
83+
isActive: { type: "boolean" },
8084
},
8185
};
8286
expect(generateDefaultValue(schema)).toEqual({
@@ -89,18 +93,18 @@ describe("generateDefaultValue", () => {
8993
test("handles nested objects", () => {
9094
const schema: JsonSchemaType = {
9195
type: "object",
92-
required: true,
96+
required: ["user"],
9397
properties: {
9498
user: {
9599
type: "object",
96-
required: true,
100+
required: ["name", "address"],
97101
properties: {
98-
name: { type: "string", required: true },
102+
name: { type: "string" },
99103
address: {
100104
type: "object",
101-
required: true,
105+
required: ["city"],
102106
properties: {
103-
city: { type: "string", required: true },
107+
city: { type: "string" },
104108
},
105109
},
106110
},

0 commit comments

Comments
 (0)