Files
crank/apps/ui/src/features/operation-form/model.test.ts
T
2026-03-25 19:27:31 +03:00

34 lines
855 B
TypeScript

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/);
});
});