diff --git a/extensions/qa-lab/src/suite-summary.ts b/extensions/qa-lab/src/suite-summary.ts index 3f87e2300ba6..607666f010a3 100644 --- a/extensions/qa-lab/src/suite-summary.ts +++ b/extensions/qa-lab/src/suite-summary.ts @@ -22,6 +22,7 @@ export type QaSuiteSummaryJson = { total: number; passed: number; failed: number; + skipped: number; }; metrics?: { wallMs: number; diff --git a/extensions/qa-lab/src/suite.summary-json.test.ts b/extensions/qa-lab/src/suite.summary-json.test.ts index 1cced4c84d4f..63c354a74ed0 100644 --- a/extensions/qa-lab/src/suite.summary-json.test.ts +++ b/extensions/qa-lab/src/suite.summary-json.test.ts @@ -134,6 +134,25 @@ describe("buildQaSuiteSummaryJson", () => { total: 2, passed: 1, failed: 1, + skipped: 0, + }); + }); + + it("includes skipped scenarios in the canonical summary counts", () => { + const json = buildQaSuiteSummaryJson({ + ...baseParams, + scenarios: [ + ...baseParams.scenarios, + { name: "Scenario C", status: "skip" as const, steps: [] }, + { name: "Scenario D", status: "skip" as const, steps: [] }, + ], + }); + + expect(json.counts).toEqual({ + total: 4, + passed: 1, + failed: 1, + skipped: 2, }); }); diff --git a/extensions/qa-lab/src/suite.ts b/extensions/qa-lab/src/suite.ts index 98308732f8ca..de6adad05496 100644 --- a/extensions/qa-lab/src/suite.ts +++ b/extensions/qa-lab/src/suite.ts @@ -723,6 +723,7 @@ export function buildQaSuiteSummaryJson(params: QaSuiteSummaryJsonParams): QaSui total: params.scenarios.length, passed: params.scenarios.filter((scenario) => scenario.status === "pass").length, failed: countQaSuiteFailedScenarios(params.scenarios), + skipped: params.scenarios.filter((scenario) => scenario.status === "skip").length, }, ...(params.metrics ? { metrics: params.metrics } : {}), ...(params.evidence ? { evidence: params.evidence } : {}),