Skip to main content
Glama

Simple MCP Server

nested-refine.test.ts3.62 kB
import { expect, test } from "vitest"; import * as z from "zod/v4"; test("nested refinements", () => { const zodSchema = z .object({ password: z.string().min(1), nested: z .object({ confirm: z .string() .min(1) .refine((value) => value.length > 2, { message: "Confirm length should be > 2", }), }) .refine( (data) => { return data.confirm === "bar"; }, { path: ["confirm"], error: 'Value must be "bar"', } ), }) .refine( (data) => { return data.nested.confirm === data.password; }, { path: ["nested", "confirm"], error: "Password and confirm must match", } ); const DATA = { password: "bar", nested: { confirm: "" }, }; expect(zodSchema.safeParse(DATA)).toMatchInlineSnapshot(` { "error": [ZodError: [ { "origin": "string", "code": "too_small", "minimum": 1, "inclusive": true, "path": [ "nested", "confirm" ], "message": "Too small: expected string to have >=1 characters" }, { "code": "custom", "path": [ "nested", "confirm" ], "message": "Confirm length should be > 2" }, { "code": "custom", "path": [ "nested", "confirm" ], "message": "Value must be \\"bar\\"" }, { "code": "custom", "path": [ "nested", "confirm" ], "message": "Password and confirm must match" } ]], "success": false, } `); expect(zodSchema.safeParse(DATA, { jitless: true })).toMatchInlineSnapshot(` { "error": [ZodError: [ { "origin": "string", "code": "too_small", "minimum": 1, "inclusive": true, "path": [ "nested", "confirm" ], "message": "Too small: expected string to have >=1 characters" }, { "code": "custom", "path": [ "nested", "confirm" ], "message": "Confirm length should be > 2" }, { "code": "custom", "path": [ "nested", "confirm" ], "message": "Value must be \\"bar\\"" }, { "code": "custom", "path": [ "nested", "confirm" ], "message": "Password and confirm must match" } ]], "success": false, } `); expect(zodSchema["~standard"].validate(DATA)).toMatchInlineSnapshot(` { "issues": [ { "code": "too_small", "inclusive": true, "message": "Too small: expected string to have >=1 characters", "minimum": 1, "origin": "string", "path": [ "nested", "confirm", ], }, { "code": "custom", "message": "Confirm length should be > 2", "path": [ "nested", "confirm", ], }, { "code": "custom", "message": "Value must be "bar"", "path": [ "nested", "confirm", ], }, { "code": "custom", "message": "Password and confirm must match", "path": [ "nested", "confirm", ], }, ], } `); });

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/shaleen-wonder-ent/simple-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server