wopee-mcp 1.6.1 → 1.7.1
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.
package/README.md
CHANGED
|
@@ -100,7 +100,7 @@ Generates a specific file(artifact) for the selected suite.
|
|
|
100
100
|
|
|
101
101
|
- **Parameters:**
|
|
102
102
|
- `suiteUuid` - The UUID of the suite
|
|
103
|
-
- `fileType` - `"APP_CONTEXT" | "GENERAL_USER_STORIES" | "
|
|
103
|
+
- `fileType` - `"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES_WITH_TEST_CASES" | "TEST_CASES" | "TEST_CASE_STEPS" | "REUSABLE_TEST_CASES" | "REUSABLE_TEST_CASE_STEPS"`
|
|
104
104
|
- **Returns:** Generated output in case of successful generation.
|
|
105
105
|
|
|
106
106
|
**Example Usage:**
|
|
@@ -38,6 +38,11 @@ export const DispatchAnalysis = `
|
|
|
38
38
|
status
|
|
39
39
|
isGenerated
|
|
40
40
|
}
|
|
41
|
+
reusableTestCases {
|
|
42
|
+
status
|
|
43
|
+
isGenerated
|
|
44
|
+
}
|
|
45
|
+
testCaseSteps
|
|
41
46
|
}
|
|
42
47
|
}
|
|
43
48
|
}
|
|
@@ -76,6 +81,12 @@ export const FetchAnalysisSuites = `
|
|
|
76
81
|
isGenerated
|
|
77
82
|
status
|
|
78
83
|
}
|
|
84
|
+
reusableTestCases {
|
|
85
|
+
uuid
|
|
86
|
+
isGenerated
|
|
87
|
+
status
|
|
88
|
+
}
|
|
89
|
+
testCaseSteps
|
|
79
90
|
}
|
|
80
91
|
}
|
|
81
92
|
}
|
|
@@ -94,14 +105,29 @@ export const GenerateGeneralUserStories = `
|
|
|
94
105
|
generateGeneralUserStories(input: $input)
|
|
95
106
|
}
|
|
96
107
|
`;
|
|
108
|
+
export const GenerateUserStoriesWithTestCases = `
|
|
109
|
+
mutation GenerateUserStoriesWithTestCases($input: GenerateAIDataInput!) {
|
|
110
|
+
generateUserStories(input: $input)
|
|
111
|
+
}
|
|
112
|
+
`;
|
|
97
113
|
export const GenerateTestCases = `
|
|
98
114
|
mutation GenerateTestCases($input: GenerateAIDataInput!) {
|
|
99
115
|
generateTestCases(input: $input)
|
|
100
116
|
}
|
|
101
117
|
`;
|
|
102
|
-
export const
|
|
103
|
-
|
|
104
|
-
|
|
118
|
+
export const GenerateTestCaseSteps = `
|
|
119
|
+
mutation GenerateTestCaseSteps($input: GenerateAIDataInput!) {
|
|
120
|
+
generateTestCaseSteps(input: $input)
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
123
|
+
export const GenerateReusableTestCases = `
|
|
124
|
+
mutation GenerateReusableTestCases($input: GenerateAIDataInput!) {
|
|
125
|
+
generateReusableTestCases(input: $input)
|
|
126
|
+
}
|
|
127
|
+
`;
|
|
128
|
+
export const GenerateReusableTestCaseSteps = `
|
|
129
|
+
mutation GenerateReusableTestCaseSteps($input: GenerateAIDataInput!) {
|
|
130
|
+
generateReusableTestCaseSteps(input: $input)
|
|
105
131
|
}
|
|
106
132
|
`;
|
|
107
133
|
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,
|
|
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.
|
|
42
|
+
case FileType.USER_STORIES_WITH_TEST_CASES:
|
|
43
43
|
return {
|
|
44
|
-
query:
|
|
45
|
-
dataKey: "
|
|
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["
|
|
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) {
|