@supatest/cli 0.0.56 → 0.0.58
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/dist/index.js +59 -16
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -359,7 +359,7 @@ function getToolGroupCounts(tools) {
|
|
|
359
359
|
);
|
|
360
360
|
return Object.entries(groups).map(([name, count]) => ({ name, count })).sort((a, b) => b.count - a.count);
|
|
361
361
|
}
|
|
362
|
-
var AVAILABLE_MODELS, DATE_SUFFIX_REGEX, SMALL_COST_MULTIPLIER, MEDIUM_COST_MULTIPLIER, PREMIUM_COST_MULTIPLIER, SMALL_COST_LABEL, MEDIUM_COST_LABEL, PREMIUM_COST_LABEL, MODEL_TIERS, CONTEXT_WINDOWS, util, objectUtil, ZodParsedType, getParsedType, ZodIssueCode, ZodError, errorMap, overrideErrorMap, makeIssue, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty, isValid, isAsync, errorUtil, ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, ZodBranded, ZodPipeline, ZodReadonly, ZodFirstPartyTypeKind, stringType, numberType, booleanType, dateType, unknownType, arrayType, objectType, unionType, discriminatedUnionType, recordType, functionType, lazyType, literalType, enumType, promiseType, coerce, MAX_API_KEY_NAME_LENGTH, apiKeySchema, apiKeyUsageSchema, createApiKeyRequestSchema, apiKeyResponseSchema, apiKeyUsageSummarySchema, genericErrorSchema, validationErrorSchema, feedbackCategorySchema, FEEDBACK_CATEGORIES, createFeedbackSchema, feedbackResponseSchema, listFeedbackQuerySchema, feedbackListResponseSchema, gitHubRepositorySchema, gitHubInstallationSchema, gitHubInstallUrlResponseSchema, gitHubClaimInstallationRequestSchema, gitHubReposResponseSchema, healthMetricSchema, healthMetricDailyItemSchema, healthMetricsWithDailySchema, healthAnalyticsPeriodSchema, healthAnalyticsDailyItemSchema, healthAnalyticsResponseSchema, manualTestCasePrioritySchema, manualTestCaseItemSchema, createManualTestCaseItemSchema, updateManualTestCaseItemSchema, listManualTestCaseItemsQuerySchema, manualTestCaseItemListResponseSchema, manualTestFolderSchema, manualTestFolderContentsSchema, createManualTestFolderSchema, updateManualTestFolderSchema, MAX_TIMEZONE_CHAR_LENGTH, organizationSchema, organizationSettingsSchema, adminOrganizationSchema, adminOrganizationListSchema, updateAdminOrganizationRequestSchema, sandboxProviderSchema, sessionTypeSchema, sessionStatusSchema, provisioningStepSchema, createWebSessionSchema, createWebSessionResponseSchema, wsServerMessageSchema, wsClientMessageSchema, gitStatusResponseSchema, gitCommitRequestSchema, gitCommitResponseSchema, gitPushResponseSchema, createPRRequestSchema, createPRResponseSchema, gitDiffResponseSchema, webSessionResponseSchema, snapshotStateSchema, toolPresetsSchema, projectRepoSchema, createProjectMachineSchema, updateProjectMachineSchema, envVarEntrySchema, createEnvFileSchema, putEnvFileVarsSchema, projectMachineResponseSchema, machineSnapshotResponseSchema, envFileResponseSchema, textBlockSchema, toolUseBlockSchema, toolResultBlockSchema, thinkingBlockSchema, imageBlockSchema, contentBlockSchema, sessionSchema, createSessionRequestSchema, updateSessionRequestSchema, messageSchema, createMessageRequestSchema, cliEventSchema, createCLISessionRequestSchema, queryResultSchema, queryTurnSchema, queryContentSchema, queryUsageSchema, querySchema, runStatusSchema, testResultStatusSchema, testOutcomeSchema, attachmentKindSchema, stepCategorySchema, runSummarySchema, ciMetadataSchema, gitMetadataSchema, playwrightConfigSchema, errorInfoSchema, locationSchema, sourceSnippetSchema, runSourceSchema, runSchema, annotationSchema, testSchema, testResultSchema, baseStepSchema, stepSchema, attachmentSchema, listRunsQuerySchema, listTestsQuerySchema, runsListResponseSchema, runDetailResponseSchema, coverageTestItemSchema, secondaryTagMetricSchema, tagCoverageSchema, coverageStatsSchema, coverageAlertSchema, coverageDashboardResponseSchema, coverageDashboardQuerySchema, testsListResponseSchema, testDetailResponseSchema, testHistoryItemSchema, testHistoryResponseSchema, visualComparisonScreenshotSchema, visualComparisonRunSchema, visualComparisonMatchedStepSchema, visualComparisonResponseSchema, topOffenderSchema, topOffendersResponseSchema, trendPointSchema, trendsResponseSchema, errorCategorySchema, failureClusterSchema, newFailureSchema, runInsightsResponseSchema, FailureCategoryEnum, SelectorTypeEnum, FailureCategoryStatsSchema, FailureCategoriesResponseSchema, FailingSelectorStatsSchema, FailingSelectorsResponseSchema, newFailureItemSchema, newFailuresResponseSchema, flakyTestItemSchema, flakyTestsResponseSchema, slowestTestItemSchema, slowestTestsResponseSchema, runSummaryEmailFailureSchema, runSummaryEmailReportSchema, sendRunReportRequestSchema, metricWithTrendSchema, weekOverWeekMetricsSchema, ciComputeTimeSchema, investigationCandidateSchema, failureCategoryBreakdownSchema, stabilityTrendSchema, folderStabilitySchema, managerReportSchema, managerReportQuerySchema, sendManagerReportRequestSchema, reportAttachmentLinkSchema, developerReportRegressionSchema, developerReportFlakyTestSchema, developerReportSlowTestSchema, developerRunSummaryReportSchema, executiveReportStatusSchema, executiveMetricSchema, executiveKeyMetricsSchema, executiveTrendPointSchema, executiveTrendsSchema, executiveFlakyOffenderSchema, executiveSlowestOffenderSchema, executiveTopOffendersSchema, executiveReportSchema, executiveReportQuerySchema, sendExecutiveReportRequestSchema, manualTestCaseSchema, createManualRunRequestSchema, manualTestResultSchema, recordManualResultsRequestSchema, recordSingleManualResultRequestSchema, assignmentActivityActionSchema, assignmentActivityActorTypeSchema, assignmentActivitySchema, assignmentActivityListResponseSchema, assigneeInfoSchema, assigneesListResponseSchema, testCatalogPrioritySchema, testCatalogTypeSchema, testCatalogAssignmentStatusSchema, testCatalogAssignmentSchema, testCatalogDefinitionSchema, testCatalogListItemSchema, testCatalogHistoryEntrySchema, testCatalogListQuerySchema, testCatalogListResponseSchema, testCatalogDetailResponseSchema, testCatalogFilterOptionsSchema, testCatalogAssigneeInfoSchema, testCatalogAssignRequestSchema, testCatalogUpdateAssignmentRequestSchema, testCatalogAssignmentResponseSchema, testCatalogFolderNodeSchema, testCatalogFolderTreeResponseSchema, testCatalogFolderTestsQuerySchema, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, DAYS_PER_WEEK, SECONDS_PER_WEEK, DAYS_PER_MONTH, SECONDS_PER_MONTH, DAYS_PER_YEAR, SECONDS_PER_YEAR;
|
|
362
|
+
var AVAILABLE_MODELS, DATE_SUFFIX_REGEX, SMALL_COST_MULTIPLIER, MEDIUM_COST_MULTIPLIER, PREMIUM_COST_MULTIPLIER, SMALL_COST_LABEL, MEDIUM_COST_LABEL, PREMIUM_COST_LABEL, MODEL_TIERS, CONTEXT_WINDOWS, util, objectUtil, ZodParsedType, getParsedType, ZodIssueCode, ZodError, errorMap, overrideErrorMap, makeIssue, ParseStatus, INVALID, DIRTY, OK, isAborted, isDirty, isValid, isAsync, errorUtil, ParseInputLazyPath, handleResult, ZodType, cuidRegex, cuid2Regex, ulidRegex, uuidRegex, nanoidRegex, jwtRegex, durationRegex, emailRegex, _emojiRegex, emojiRegex, ipv4Regex, ipv4CidrRegex, ipv6Regex, ipv6CidrRegex, base64Regex, base64urlRegex, dateRegexSource, dateRegex, ZodString, ZodNumber, ZodBigInt, ZodBoolean, ZodDate, ZodSymbol, ZodUndefined, ZodNull, ZodAny, ZodUnknown, ZodNever, ZodVoid, ZodArray, ZodObject, ZodUnion, getDiscriminator, ZodDiscriminatedUnion, ZodIntersection, ZodTuple, ZodRecord, ZodMap, ZodSet, ZodFunction, ZodLazy, ZodLiteral, ZodEnum, ZodNativeEnum, ZodPromise, ZodEffects, ZodOptional, ZodNullable, ZodDefault, ZodCatch, ZodNaN, ZodBranded, ZodPipeline, ZodReadonly, ZodFirstPartyTypeKind, stringType, numberType, booleanType, dateType, unknownType, arrayType, objectType, unionType, discriminatedUnionType, recordType, functionType, lazyType, literalType, enumType, promiseType, coerce, MAX_API_KEY_NAME_LENGTH, apiKeySchema, apiKeyUsageSchema, createApiKeyRequestSchema, apiKeyResponseSchema, apiKeyUsageSummarySchema, genericErrorSchema, validationErrorSchema, feedbackCategorySchema, FEEDBACK_CATEGORIES, feedbackStatusSchema, feedbackActivitySchema, createFeedbackSchema, updateFeedbackStatusSchema, feedbackResponseSchema, listFeedbackQuerySchema, feedbackListResponseSchema, gitHubRepositorySchema, gitHubInstallationSchema, gitHubInstallUrlResponseSchema, gitHubClaimInstallationRequestSchema, gitHubReposResponseSchema, healthMetricSchema, healthMetricDailyItemSchema, healthMetricsWithDailySchema, healthAnalyticsPeriodSchema, healthAnalyticsDailyItemSchema, healthAnalyticsResponseSchema, manualTestCasePrioritySchema, manualTestCaseItemSchema, createManualTestCaseItemSchema, updateManualTestCaseItemSchema, listManualTestCaseItemsQuerySchema, manualTestCaseItemListResponseSchema, manualTestFolderSchema, manualTestFolderContentsSchema, createManualTestFolderSchema, updateManualTestFolderSchema, MAX_TIMEZONE_CHAR_LENGTH, organizationSchema, organizationSettingsSchema, adminOrganizationSchema, adminOrganizationListSchema, updateAdminOrganizationRequestSchema, sandboxProviderSchema, sessionTypeSchema, sessionStatusSchema, provisioningStepSchema, createWebSessionSchema, createWebSessionResponseSchema, wsServerMessageSchema, wsClientMessageSchema, gitStatusResponseSchema, gitCommitRequestSchema, gitCommitResponseSchema, gitPushResponseSchema, createPRRequestSchema, createPRResponseSchema, gitDiffResponseSchema, webSessionResponseSchema, snapshotStateSchema, toolPresetsSchema, projectRepoSchema, createProjectMachineSchema, updateProjectMachineSchema, envVarEntrySchema, createEnvFileSchema, putEnvFileVarsSchema, projectMachineResponseSchema, machineSnapshotResponseSchema, envFileResponseSchema, textBlockSchema, toolUseBlockSchema, toolResultBlockSchema, thinkingBlockSchema, imageBlockSchema, contentBlockSchema, sessionSchema, createSessionRequestSchema, updateSessionRequestSchema, messageSchema, createMessageRequestSchema, cliEventSchema, createCLISessionRequestSchema, queryResultSchema, queryTurnSchema, queryContentSchema, queryUsageSchema, querySchema, runStatusSchema, testResultStatusSchema, testOutcomeSchema, attachmentKindSchema, stepCategorySchema, runSummarySchema, ciMetadataSchema, gitMetadataSchema, playwrightConfigSchema, errorInfoSchema, locationSchema, sourceSnippetSchema, runSourceSchema, runSchema, annotationSchema, testSchema, testResultSchema, baseStepSchema, stepSchema, attachmentSchema, listRunsQuerySchema, listTestsQuerySchema, runsListResponseSchema, runDetailResponseSchema, coverageTestItemSchema, secondaryTagMetricSchema, tagCoverageSchema, coverageStatsSchema, coverageAlertSchema, coverageDashboardResponseSchema, coverageDashboardQuerySchema, testsListResponseSchema, testDetailResponseSchema, testHistoryItemSchema, testHistoryResponseSchema, visualComparisonScreenshotSchema, visualComparisonRunSchema, visualComparisonMatchedStepSchema, visualComparisonResponseSchema, topOffenderSchema, topOffendersResponseSchema, trendPointSchema, trendsResponseSchema, errorCategorySchema, failureClusterSchema, newFailureSchema, runInsightsResponseSchema, FailureCategoryEnum, SelectorTypeEnum, FailureCategoryStatsSchema, FailureCategoriesResponseSchema, FailingSelectorStatsSchema, FailingSelectorsResponseSchema, newFailureItemSchema, newFailuresResponseSchema, flakyTestItemSchema, flakyTestsResponseSchema, slowestTestItemSchema, slowestTestsResponseSchema, runSummaryEmailFailureSchema, runSummaryEmailReportSchema, sendRunReportRequestSchema, metricWithTrendSchema, weekOverWeekMetricsSchema, ciComputeTimeSchema, investigationCandidateSchema, failureCategoryBreakdownSchema, stabilityTrendSchema, folderStabilitySchema, managerReportSchema, managerReportQuerySchema, sendManagerReportRequestSchema, reportAttachmentLinkSchema, developerReportRegressionSchema, developerReportFlakyTestSchema, developerReportSlowTestSchema, developerRunSummaryReportSchema, executiveReportStatusSchema, executiveMetricSchema, executiveKeyMetricsSchema, executiveTrendPointSchema, executiveTrendsSchema, executiveFlakyOffenderSchema, executiveSlowestOffenderSchema, executiveTopOffendersSchema, executiveReportSchema, executiveReportQuerySchema, sendExecutiveReportRequestSchema, manualTestCaseSchema, createManualRunRequestSchema, manualTestResultSchema, recordManualResultsRequestSchema, recordSingleManualResultRequestSchema, assignmentActivityActionSchema, assignmentActivityActorTypeSchema, assignmentActivitySchema, assignmentActivityListResponseSchema, assigneeInfoSchema, assigneesListResponseSchema, testCatalogPrioritySchema, testCatalogTypeSchema, testCatalogAssignmentStatusSchema, testCatalogWorkTypeSchema, testCatalogAssignmentSchema, testCatalogDefinitionSchema, testCatalogListItemSchema, testCatalogHistoryEntrySchema, testCatalogListQuerySchema, testCatalogListResponseSchema, testCatalogDetailResponseSchema, testCatalogFilterOptionsSchema, testCatalogAssigneeInfoSchema, testCatalogAssignRequestSchema, testCatalogUpdateAssignmentRequestSchema, testCatalogAssignmentResponseSchema, testCatalogFolderNodeSchema, testCatalogFolderTreeResponseSchema, testCatalogFolderTestsQuerySchema, SECONDS_PER_MINUTE, SECONDS_PER_HOUR, SECONDS_PER_DAY, DAYS_PER_WEEK, SECONDS_PER_WEEK, DAYS_PER_MONTH, SECONDS_PER_MONTH, DAYS_PER_YEAR, SECONDS_PER_YEAR;
|
|
363
363
|
var init_shared_es = __esm({
|
|
364
364
|
"../shared/dist/shared.es.mjs"() {
|
|
365
365
|
"use strict";
|
|
@@ -4158,6 +4158,22 @@ var init_shared_es = __esm({
|
|
|
4158
4158
|
description: "Anything else"
|
|
4159
4159
|
}
|
|
4160
4160
|
};
|
|
4161
|
+
feedbackStatusSchema = enumType([
|
|
4162
|
+
"open",
|
|
4163
|
+
"acknowledged",
|
|
4164
|
+
"in_progress",
|
|
4165
|
+
"resolved",
|
|
4166
|
+
"dismissed"
|
|
4167
|
+
]);
|
|
4168
|
+
feedbackActivitySchema = objectType({
|
|
4169
|
+
id: stringType(),
|
|
4170
|
+
note: stringType().optional(),
|
|
4171
|
+
statusFrom: feedbackStatusSchema.optional(),
|
|
4172
|
+
statusTo: feedbackStatusSchema.optional(),
|
|
4173
|
+
createdBy: stringType(),
|
|
4174
|
+
createdAt: stringType()
|
|
4175
|
+
// ISO timestamp
|
|
4176
|
+
});
|
|
4161
4177
|
createFeedbackSchema = objectType({
|
|
4162
4178
|
category: feedbackCategorySchema,
|
|
4163
4179
|
description: stringType().min(1, "Description is required").max(5e3),
|
|
@@ -4167,6 +4183,12 @@ var init_shared_es = __esm({
|
|
|
4167
4183
|
cliVersion: stringType().optional(),
|
|
4168
4184
|
metadata: recordType(unknownType()).optional()
|
|
4169
4185
|
});
|
|
4186
|
+
updateFeedbackStatusSchema = objectType({
|
|
4187
|
+
status: feedbackStatusSchema.optional(),
|
|
4188
|
+
note: stringType().max(1e3).optional()
|
|
4189
|
+
}).refine((d) => d.status !== void 0 || d.note && d.note.length > 0, {
|
|
4190
|
+
message: "Provide a status change, a note, or both"
|
|
4191
|
+
});
|
|
4170
4192
|
feedbackResponseSchema = objectType({
|
|
4171
4193
|
id: stringType().uuid(),
|
|
4172
4194
|
userId: stringType(),
|
|
@@ -4178,10 +4200,14 @@ var init_shared_es = __esm({
|
|
|
4178
4200
|
model: stringType().nullable(),
|
|
4179
4201
|
cliVersion: stringType().nullable(),
|
|
4180
4202
|
metadata: recordType(unknownType()).nullable(),
|
|
4203
|
+
status: feedbackStatusSchema,
|
|
4204
|
+
statusUpdatedAt: stringType().nullable(),
|
|
4205
|
+
activity: arrayType(feedbackActivitySchema),
|
|
4181
4206
|
createdAt: stringType()
|
|
4182
4207
|
});
|
|
4183
4208
|
listFeedbackQuerySchema = objectType({
|
|
4184
4209
|
category: feedbackCategorySchema.optional(),
|
|
4210
|
+
status: feedbackStatusSchema.optional(),
|
|
4185
4211
|
startDate: stringType().optional(),
|
|
4186
4212
|
endDate: stringType().optional(),
|
|
4187
4213
|
search: stringType().optional(),
|
|
@@ -5645,9 +5671,16 @@ var init_shared_es = __esm({
|
|
|
5645
5671
|
"completed",
|
|
5646
5672
|
"failed"
|
|
5647
5673
|
]);
|
|
5674
|
+
testCatalogWorkTypeSchema = enumType([
|
|
5675
|
+
"fix_failure",
|
|
5676
|
+
"automate",
|
|
5677
|
+
"review",
|
|
5678
|
+
"investigate"
|
|
5679
|
+
]);
|
|
5648
5680
|
testCatalogAssignmentSchema = objectType({
|
|
5649
5681
|
assignedTo: stringType(),
|
|
5650
|
-
status: testCatalogAssignmentStatusSchema
|
|
5682
|
+
status: testCatalogAssignmentStatusSchema,
|
|
5683
|
+
workType: testCatalogWorkTypeSchema.nullable().optional()
|
|
5651
5684
|
});
|
|
5652
5685
|
testCatalogDefinitionSchema = objectType({
|
|
5653
5686
|
id: stringType().uuid(),
|
|
@@ -5772,7 +5805,8 @@ var init_shared_es = __esm({
|
|
|
5772
5805
|
});
|
|
5773
5806
|
testCatalogAssignRequestSchema = objectType({
|
|
5774
5807
|
assignedTo: stringType(),
|
|
5775
|
-
notes: stringType().optional()
|
|
5808
|
+
notes: stringType().optional(),
|
|
5809
|
+
workType: testCatalogWorkTypeSchema.optional()
|
|
5776
5810
|
});
|
|
5777
5811
|
testCatalogUpdateAssignmentRequestSchema = objectType({
|
|
5778
5812
|
status: enumType(["completed", "failed"]),
|
|
@@ -6045,7 +6079,7 @@ var CLI_VERSION;
|
|
|
6045
6079
|
var init_version = __esm({
|
|
6046
6080
|
"src/version.ts"() {
|
|
6047
6081
|
"use strict";
|
|
6048
|
-
CLI_VERSION = "0.0.
|
|
6082
|
+
CLI_VERSION = "0.0.58";
|
|
6049
6083
|
}
|
|
6050
6084
|
});
|
|
6051
6085
|
|
|
@@ -9771,12 +9805,14 @@ var init_test_tagging = __esm({
|
|
|
9771
9805
|
**IMPORTANT**: Before completing any fix or writing a new test, check if the test has metadata tags. If tags are missing, add them.
|
|
9772
9806
|
|
|
9773
9807
|
Required tags for ALL tests:
|
|
9774
|
-
- @id:UNIQUE-ID \u2014 Stable identity for history tracking.
|
|
9808
|
+
- @id:UNIQUE-ID \u2014 Stable identity for history tracking. REQUIRED for every test \u2014 without it, renaming or moving a test loses its entire run history.
|
|
9809
|
+
- **If automating an existing manual test**: use the platform's readableId as the @id (e.g. \`@id:TST-123\`). This is how the platform links automated runs back to the manual test record \u2014 same history, same assignments, same entity.
|
|
9810
|
+
- **If writing a brand-new test with no platform entry**: generate a short memorable ID from the feature and test purpose (e.g. AUTH-LOGIN-001, CART-ADD-001).
|
|
9775
9811
|
- @feature:name \u2014 Feature area or module this test covers
|
|
9776
9812
|
- @priority:critical|high|medium|low \u2014 Test importance
|
|
9777
9813
|
- @test_type:smoke|e2e|regression|integration|unit \u2014 Classification
|
|
9778
9814
|
|
|
9779
|
-
Optional: @owner:email, @ticket:PROJ-123, @slow, @flaky, @
|
|
9815
|
+
Optional: @owner:email, @ticket:PROJ-123, @slow, @flaky, @key:value
|
|
9780
9816
|
|
|
9781
9817
|
**Playwright** \u2014 ALWAYS use the native tag property (even if existing tests use title-based tags):
|
|
9782
9818
|
test("User can login", { tag: ['@id:AUTH-LOGIN-001', '@feature:auth', '@priority:high', '@test_type:e2e'] }, async ({ page }) => { });
|
|
@@ -9786,19 +9822,26 @@ it("User can login (@id:AUTH-LOGIN-001 @feature:auth @priority:high @test_type:e
|
|
|
9786
9822
|
|
|
9787
9823
|
**Existing tests without @id** \u2014 When fixing or modifying a test that has no @id tag, add one. Generate the ID from the feature + a short description, e.g. @id:CHECKOUT-SUBMIT-001.
|
|
9788
9824
|
|
|
9789
|
-
**Manual
|
|
9825
|
+
**Manual tests** \u2014 When you identify a scenario that requires human execution (e.g. physical device, visual inspection, third-party flow), capture it as a manual test case rather than skipping or omitting it:
|
|
9790
9826
|
|
|
9791
|
-
|
|
9792
|
-
|
|
9793
|
-
|
|
9794
|
-
|
|
9827
|
+
1. Draft the test as a markdown file at \`manual-tests/{feature}-{short-title}.md\` using this structure:
|
|
9828
|
+
\`\`\`markdown
|
|
9829
|
+
# {Title}
|
|
9830
|
+
**Priority**: critical|high|medium|low
|
|
9831
|
+
**Tags**: tag1, tag2
|
|
9795
9832
|
|
|
9796
|
-
|
|
9797
|
-
|
|
9798
|
-
|
|
9799
|
-
|
|
9833
|
+
## Preconditions
|
|
9834
|
+
- ...
|
|
9835
|
+
|
|
9836
|
+
## Steps
|
|
9837
|
+
1. ...
|
|
9838
|
+
2. ...
|
|
9800
9839
|
|
|
9801
|
-
|
|
9840
|
+
## Expected Result
|
|
9841
|
+
- ...
|
|
9842
|
+
\`\`\`
|
|
9843
|
+
2. Show the draft to the user and ask for confirmation before creating it in Supatest.
|
|
9844
|
+
3. On confirmation, use the Supatest MCP \`create-manual-test\` tool to create it (pass \`title\`, \`steps\` as the markdown body, \`priority\`, \`tags\`, and \`folderId\` if relevant). The tool returns a \`readableId\` (e.g. TST-123) \u2014 store it. If you automate this same test later in the session, use \`@id:TST-123\` (the platform readableId) instead of generating a new ID.
|
|
9802
9845
|
|
|
9803
9846
|
A test is not complete until it has @id plus the other required tags.
|
|
9804
9847
|
</test_tagging>`;
|