From c52f3cf763550209f37bdcf2fbaa3dd20396eeee Mon Sep 17 00:00:00 2001 From: Nicolas Ettlin Date: Mon, 17 Nov 2025 10:40:02 -0800 Subject: [PATCH] Rename variables in test --- packages/convex-helpers/server/zod3.test.ts | 42 ++++++++++++--------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/packages/convex-helpers/server/zod3.test.ts b/packages/convex-helpers/server/zod3.test.ts index cbdf0a9e..ebd71b34 100644 --- a/packages/convex-helpers/server/zod3.test.ts +++ b/packages/convex-helpers/server/zod3.test.ts @@ -619,29 +619,33 @@ test("output validators work for arrays objects and unions", async () => { }); test("zodOutputToConvex infers required types for fields with defaults", () => { - const ZSimpleObject = z.object({ + const zSimpleObject = z.object({ age: z.number().default(25), name: z.string(), - status: z.union([z.literal("active"), z.literal("inactive")]).default("active"), + status: z + .union([z.literal("active"), z.literal("inactive")]) + .default("active"), }); - const _VSimpleObject = zodOutputToConvex(ZSimpleObject); - type TZodSimpleObject = z.infer; - type TConvexSimpleObject = Infer; + const vSimpleObject = zodOutputToConvex(zSimpleObject); + type TZodSimpleObject = z.infer; + type TConvexSimpleObject = Infer; // Fields with defaults should be required (not optional) in the output type - expectTypeOf().toEqualTypeOf(); + expectTypeOf().toEqualTypeOf< + TZodSimpleObject["age"] + >(); expectTypeOf().toEqualTypeOf< TZodSimpleObject["status"] >(); expectTypeOf().toEqualTypeOf(); // Validator objects should have isOptional: "required" for fields with defaults - expect(_VSimpleObject.fields.age.isOptional).toBe("required"); - expect(_VSimpleObject.fields.status.isOptional).toBe("required"); - expect(_VSimpleObject.fields.name.isOptional).toBe("required"); + expect(vSimpleObject.fields.age.isOptional).toBe("required"); + expect(vSimpleObject.fields.status.isOptional).toBe("required"); + expect(vSimpleObject.fields.name.isOptional).toBe("required"); // Test nested objects with defaults - const ZNestedObject = z.object({ + const zNestedObject = z.object({ id: z.string(), profile: z.object({ displayName: z.string().default("Anonymous"), @@ -649,9 +653,9 @@ test("zodOutputToConvex infers required types for fields with defaults", () => { }), tags: z.array(z.string()).default([]), }); - const _VNestedObject = zodOutputToConvex(ZNestedObject); - type TZodNestedObject = z.infer; - type TConvexNestedObject = Infer; + const vNestedObject = zodOutputToConvex(zNestedObject); + type TZodNestedObject = z.infer; + type TConvexNestedObject = Infer; // Nested object fields with defaults should be required expectTypeOf().toEqualTypeOf< @@ -666,10 +670,14 @@ test("zodOutputToConvex infers required types for fields with defaults", () => { expectTypeOf().toEqualTypeOf(); // Nested validator objects should have isOptional: "required" for fields with defaults - expect(_VNestedObject.fields.tags.isOptional).toBe("required"); - expect(_VNestedObject.fields.profile.fields.displayName.isOptional).toBe("required"); - expect(_VNestedObject.fields.profile.fields.isPublic.isOptional).toBe("required"); - expect(_VNestedObject.fields.id.isOptional).toBe("required"); + expect(vNestedObject.fields.tags.isOptional).toBe("required"); + expect(vNestedObject.fields.profile.fields.displayName.isOptional).toBe( + "required", + ); + expect(vNestedObject.fields.profile.fields.isPublic.isOptional).toBe( + "required", + ); + expect(vNestedObject.fields.id.isOptional).toBe("required"); }); test("zod output compliance", async () => {