wopee-mcp 1.6.1 → 1.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -27,6 +27,7 @@ export const createGenerateAIDataInput = (input) => {
27
27
  continueGeneration: false,
28
28
  extraPrompt: null,
29
29
  selectedUserStories: null,
30
+ selectedTestCases: null,
30
31
  sourceSuiteUuid: null,
31
32
  };
32
33
  };
@@ -38,6 +38,14 @@ export const DispatchAnalysis = `
38
38
  status
39
39
  isGenerated
40
40
  }
41
+ reusableTestCases {
42
+ status
43
+ isGenerated
44
+ }
45
+ testCaseSteps {
46
+ status
47
+ isGenerated
48
+ }
41
49
  }
42
50
  }
43
51
  }
@@ -76,6 +84,12 @@ export const FetchAnalysisSuites = `
76
84
  isGenerated
77
85
  status
78
86
  }
87
+ reusableTestCases {
88
+ uuid
89
+ isGenerated
90
+ status
91
+ }
92
+ testCaseSteps
79
93
  }
80
94
  }
81
95
  }
@@ -94,14 +108,29 @@ export const GenerateGeneralUserStories = `
94
108
  generateGeneralUserStories(input: $input)
95
109
  }
96
110
  `;
111
+ export const GenerateUserStoriesWithTestCases = `
112
+ mutation GenerateUserStoriesWithTestCases($input: GenerateAIDataInput!) {
113
+ generateUserStories(input: $input)
114
+ }
115
+ `;
97
116
  export const GenerateTestCases = `
98
117
  mutation GenerateTestCases($input: GenerateAIDataInput!) {
99
118
  generateTestCases(input: $input)
100
119
  }
101
120
  `;
102
- export const GenerateUserStories = `
103
- mutation GenerateUserStories($input: GenerateAIDataInput!) {
104
- generateUserStories(input: $input)
121
+ export const GenerateTestCaseSteps = `
122
+ mutation GenerateTestCaseSteps($input: GenerateAIDataInput!) {
123
+ generateTestCaseSteps(input: $input)
124
+ }
125
+ `;
126
+ export const GenerateReusableTestCases = `
127
+ mutation GenerateReusableTestCases($input: GenerateAIDataInput!) {
128
+ generateReusableTestCases(input: $input)
129
+ }
130
+ `;
131
+ export const GenerateReusableTestCaseSteps = `
132
+ mutation GenerateReusableTestCaseSteps($input: GenerateAIDataInput!) {
133
+ generateReusableTestCaseSteps(input: $input)
105
134
  }
106
135
  `;
107
136
  export const UpdateFile = `
@@ -1,6 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { FetchFileInputSchema, UpdateFileInputSchema, GenerateAIDataInputSchema, } from "./schemas.js";
3
- import { FetchFile, UpdateFile, GenerateTestCases, GenerateAppContext, GenerateUserStories, GenerateGeneralUserStories, } from "./gql-queries.js";
3
+ import { FetchFile, UpdateFile, GenerateAppContext, GenerateGeneralUserStories, GenerateUserStoriesWithTestCases, GenerateTestCases, GenerateReusableTestCases, GenerateReusableTestCaseSteps, GenerateTestCaseSteps, } from "./gql-queries.js";
4
4
  import { createFetchFileInput, createUpdateFileInput, createGenerateAIDataInput, } from "./factories.js";
5
5
  import { Bucket, FileType } from "./types.js";
6
6
  import { requestClient } from "../../utils/requestClient.js";
@@ -39,13 +39,13 @@ function parseFileType(type) {
39
39
  outputType: "markdown",
40
40
  description: "general user stories markdown file for selected suite",
41
41
  };
42
- case FileType.USER_STORIES:
42
+ case FileType.USER_STORIES_WITH_TEST_CASES:
43
43
  return {
44
- query: GenerateUserStories,
45
- dataKey: "generateUserStories",
44
+ query: GenerateUserStoriesWithTestCases,
45
+ dataKey: "generateUserStoriesWithTestCases",
46
46
  bucket: Bucket.USER_STORIES,
47
47
  outputType: "json",
48
- description: "user stories JSON file for selected suite",
48
+ description: "generate user stories with test cases without test case steps JSON file for selected suite",
49
49
  };
50
50
  case FileType.TEST_CASES:
51
51
  return {
@@ -53,7 +53,31 @@ function parseFileType(type) {
53
53
  dataKey: "generateTestCases",
54
54
  bucket: Bucket.USER_STORIES,
55
55
  outputType: "json",
56
- description: "test cases for selected suite",
56
+ description: "generate test cases without test case steps in user stories for selected suite",
57
+ };
58
+ case FileType.REUSABLE_TEST_CASES:
59
+ return {
60
+ query: GenerateReusableTestCases,
61
+ dataKey: "generateReusableTestCases",
62
+ bucket: Bucket.USER_STORIES,
63
+ outputType: "json",
64
+ description: "generate reusable blocks without test case steps in user stories for selected suite",
65
+ };
66
+ case FileType.REUSABLE_TEST_CASE_STEPS:
67
+ return {
68
+ query: GenerateReusableTestCaseSteps,
69
+ dataKey: "generateReusableTestCaseSteps",
70
+ bucket: Bucket.USER_STORIES,
71
+ outputType: "json",
72
+ description: "generate steps for reusable blocks in user stories for selected suite",
73
+ };
74
+ case FileType.TEST_CASE_STEPS:
75
+ return {
76
+ query: GenerateTestCaseSteps,
77
+ dataKey: "generateTestCaseSteps",
78
+ bucket: Bucket.USER_STORIES,
79
+ outputType: "json",
80
+ description: "generate test case steps for test cases in user stories for selected suite",
57
81
  };
58
82
  default:
59
83
  return {
@@ -27,7 +27,8 @@ export const GenerateAIDataInputSchema = z.object({
27
27
  suiteUuid: z.string().min(1, "Suite UUID is required"),
28
28
  extraPrompt: z.string().nullish(),
29
29
  sourceSuiteUuid: z.string().nullish(),
30
- selectedUserStories: z.array(z.string()).nullish(),
30
+ selectedUserStories: z.array(z.string()).nullish(), // ["US001", "US002", "US003"]
31
+ selectedTestCases: z.array(z.string()).nullish(), // ["US001:TC001", "US003:TC002", "US015:TC033"]
31
32
  suiteAnalysisConfig: SuiteAnalysisConfigSchema,
32
33
  continueGeneration: z.boolean().nullish().default(false),
33
34
  });
@@ -20,8 +20,11 @@ export var FileType;
20
20
  (function (FileType) {
21
21
  FileType["APP_CONTEXT"] = "APP_CONTEXT";
22
22
  FileType["GENERAL_USER_STORIES"] = "GENERAL_USER_STORIES";
23
- FileType["USER_STORIES"] = "USER_STORIES";
23
+ FileType["USER_STORIES_WITH_TEST_CASES"] = "USER_STORIES_WITH_TEST_CASES";
24
24
  FileType["TEST_CASES"] = "TEST_CASES";
25
+ FileType["TEST_CASE_STEPS"] = "TEST_CASE_STEPS";
26
+ FileType["REUSABLE_TEST_CASES"] = "REUSABLE_TEST_CASES";
27
+ FileType["REUSABLE_TEST_CASE_STEPS"] = "REUSABLE_TEST_CASE_STEPS";
25
28
  })(FileType || (FileType = {}));
26
29
  export var SuiteType;
27
30
  (function (SuiteType) {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "bin": {
5
5
  "wopee-mcp": "./build/index.js"
6
6
  },
7
- "version": "1.6.1",
7
+ "version": "1.7.0",
8
8
  "description": "Wopee.io MCP server",
9
9
  "main": "./build/index.js",
10
10
  "scripts": {