UNPKG

qase-mcp-server

Version:

Model Context Protocol server for Qase TMS - Enables AI assistants to manage test cases, runs, and defects in Qase

61 lines (60 loc) 2.01 kB
import { z } from 'zod'; import { client, toResult } from '../utils.js'; import { pipe } from 'ramda'; export const GetSharedStepsSchema = z.object({ code: z.string(), search: z.string().optional(), limit: z.number().optional(), offset: z.number().optional(), }); export const GetSharedStepSchema = z.object({ code: z.string(), hash: z.string(), }); export const CreateSharedStepSchema = z.object({ code: z.string(), title: z.string(), action: z.string(), expected_result: z.string().optional(), data: z.string().optional(), steps: z .array(z.object({ action: z.string(), expected_result: z.string().optional(), data: z.string().optional(), position: z.number().optional(), })) .optional(), }); export const UpdateSharedStepSchema = z .object({ code: z.string(), hash: z.string(), title: z.string(), action: z.string(), expected_result: z.string().optional(), data: z.string().optional(), steps: z .array(z.object({ action: z.string(), expected_result: z.string().optional(), data: z.string().optional(), position: z.number().optional(), })) .optional(), }) .transform((data) => ({ code: data.code, hash: data.hash, stepData: { title: data.title, action: data.action, expected_result: data.expected_result, data: data.data, steps: data.steps, }, })); export const getSharedSteps = pipe(client.sharedSteps.getSharedSteps.bind(client.sharedSteps), (promise) => toResult(promise)); export const getSharedStep = pipe(client.sharedSteps.getSharedStep.bind(client.sharedSteps), (promise) => toResult(promise)); export const createSharedStep = pipe(client.sharedSteps.createSharedStep.bind(client.sharedSteps), (promise) => toResult(promise)); export const updateSharedStep = pipe(client.sharedSteps.updateSharedStep.bind(client.sharedSteps), (promise) => toResult(promise));