@kubb/plugin-cypress
Version:
Cypress test generator plugin for Kubb, creating end-to-end tests from OpenAPI specifications for automated API testing.
26 lines (23 loc) • 1.47 kB
JavaScript
;
var react = require('@kubb/react');
var oas = require('@kubb/oas');
var utils = require('@kubb/core/utils');
var jsxRuntime = require('@kubb/react/jsx-runtime');
// src/components/Request.tsx
function Request({ baseURL = "", name, dataReturnType, typeSchemas, url, method }) {
const params = react.FunctionParams.factory({
data: typeSchemas.request?.name ? {
type: typeSchemas.request?.name,
optional: oas.isOptional(typeSchemas.request?.schema)
} : void 0
});
const returnType = dataReturnType === "data" ? `Cypress.Chainable<${typeSchemas.response.name}>` : `Cypress.Chainable<Cypress.Response<${typeSchemas.response.name}>>`;
const body = typeSchemas.request?.name ? "data" : void 0;
return /* @__PURE__ */ jsxRuntime.jsx(react.File.Source, { name, isIndexable: true, isExportable: true, children: /* @__PURE__ */ jsxRuntime.jsxs(react.Function, { name, export: true, params: params.toConstructor(), returnType, children: [
dataReturnType === "data" && `return cy.request('${method}', '${baseURL ?? ""}${new utils.URLPath(url).toURLPath().replace(/([^/]):/g, "$1\\\\:")}', ${body}).then((res: Cypress.Response<${typeSchemas.response.name}>) => res.body)`,
dataReturnType === "full" && `return cy.request('${method}', '${new utils.URLPath(`${baseURL ?? ""}${url}`).toURLPath()}', ${body})`
] }) });
}
exports.Request = Request;
//# sourceMappingURL=chunk-LJ3OQYCX.cjs.map
//# sourceMappingURL=chunk-LJ3OQYCX.cjs.map