UNPKG

@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
'use strict'; 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