From 7ba29f21c52f2d9838c25112468f374a65978867 Mon Sep 17 00:00:00 2001 From: romovs Date: Thu, 11 Jun 2026 13:59:20 +0300 Subject: [PATCH 1/2] [cucumber] Fix skipped steps not being marked as skipped --- packages/cucumber/src/CbCucumberReporter.ts | 26 ++++++++++++++------- packages/cucumber/src/types.ts | 2 +- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/packages/cucumber/src/CbCucumberReporter.ts b/packages/cucumber/src/CbCucumberReporter.ts index fa3981a..d625ea4 100644 --- a/packages/cucumber/src/CbCucumberReporter.ts +++ b/packages/cucumber/src/CbCucumberReporter.ts @@ -416,18 +416,26 @@ class CbCucumberReporter extends Formatter { const attachments = this.attachmentsByTestStepIdMap.get(testStepId); cbStepResult.endTime = (new Date()).getTime(); cbStepResult.duration = cbStepResult.endTime - cbStepResult.startTime!; - cbStepResult.status = ResultStatusEnum.PASSED; // Add additional steps if provided in the attachments (like in case of Playwright integration) addPlaywrightStepsAndScreenshotFromAttachments(cbStepResult, attachments); // Determine step status - if (testStepResult && testStepResult.status === 'FAILED') { - cbStepResult.status = ResultStatusEnum.FAILED; - if (testStepResult.exception) { - cbStepResult.failure = getFailureFromException(testStepResult.exception); - } - else if (testStepResult.message) { - cbStepResult.failure = getFailureFromMessage(testStepResult.message); - } + switch (testStepResult?.status) { + case 'PASSED': + cbStepResult.status = ResultStatusEnum.PASSED; + break; + case 'SKIPPED': + cbStepResult.status = ResultStatusEnum.SKIPPED; + break; + default: + // FAILED, PENDING, UNDEFINED, AMBIGUOUS, UNKNOWN + cbStepResult.status = ResultStatusEnum.FAILED; + if (testStepResult?.exception) { + cbStepResult.failure = getFailureFromException(testStepResult.exception); + } + else if (testStepResult?.message) { + cbStepResult.failure = getFailureFromMessage(testStepResult.message); + } + break; } } diff --git a/packages/cucumber/src/types.ts b/packages/cucumber/src/types.ts index 05738a3..ac7058e 100644 --- a/packages/cucumber/src/types.ts +++ b/packages/cucumber/src/types.ts @@ -262,7 +262,7 @@ export interface TestStepFinished { testCaseStartedId: string; testStepId: string; testStepResult: { - status: 'PASSED' | 'FAILED' | 'SKIPPED' | 'PENDING' | 'UNDEFINED'; + status: 'UNKNOWN' | 'PASSED' | 'FAILED' | 'SKIPPED' | 'PENDING' | 'UNDEFINED' | 'AMBIGUOUS'; message: string; exception: { type: string; From 20ef14bcf71dddaa806994e99678cc07962fae0a Mon Sep 17 00:00:00 2001 From: romovs Date: Thu, 11 Jun 2026 14:00:22 +0300 Subject: [PATCH 2/2] [cucumber] 3.2.2 --- packages/cucumber/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cucumber/package.json b/packages/cucumber/package.json index 9af62ec..a8497e8 100644 --- a/packages/cucumber/package.json +++ b/packages/cucumber/package.json @@ -1,6 +1,6 @@ { "name": "@cloudbeat/cucumber", - "version": "3.2.1", + "version": "3.2.2", "description": "CloudBeat Test Reporting Kit for Cucumber.js", "keywords": [ "cloudbeat",