34 lines
855 B
TypeScript
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/);
|
|
});
|
|
});
|