import { describe, expect, it } from "vitest"; import { buildOperationPayload, defaultOperationFormValues, } from "./model"; describe("buildOperationPayload", () => { it("creates a REST operation payload from form values", () => { const payload = buildOperationPayload(defaultOperationFormValues); expect(payload.protocol).toBe("rest"); expect(payload.target.method).toBe("POST"); expect(payload.input_mapping).toEqual({ rules: [ { source: "$.mcp.email", target: "$.request.body.email", required: true, }, ], }); }); it("throws when JSON fields are invalid", () => { expect(() => buildOperationPayload({ ...defaultOperationFormValues, inputSchemaText: "{invalid", }), ).toThrow(/Input schema contains invalid JSON/); }); });