diff --git a/lib/reporter.js b/lib/reporter.js index 9b4eb41..2461fd2 100644 --- a/lib/reporter.js +++ b/lib/reporter.js @@ -322,16 +322,15 @@ class Reporter { const additionalData = {}; - if (testAssertion.skipped) { - additionalData.status = TestStatus.SKIPPED; - if (this.options.skippedIssue === false) { - additionalData.issue = { issueType: 'NOT_ISSUE' }; - } + const status = currentStep.status || (testAssertion.skipped ? TestStatus.SKIPPED : (actualError ? TestStatus.FAILED : TestStatus.PASSED)); + + if (testAssertion.skipped && this.options.skippedIssue === false) { + additionalData.issue = { issueType: 'NOT_ISSUE' }; } this.client .finishTestItem(stepObj.tempId, { - status: currentStep.status || (actualError ? TestStatus.FAILED : TestStatus.PASSED), + status, ...additionalData, }) .promise.catch(errorHandler); @@ -408,9 +407,11 @@ class Reporter { this.sendResponseLogs(testObj.testId, testObj.response); } + const hasFailedAssertions = result.assertions && result.assertions.some(assertion => assertion.error); + this.client .finishTestItem(testObj.testId, { - status: status || TestStatus.PASSED, + status: status || (hasFailedAssertions ? TestStatus.FAILED : TestStatus.PASSED), }) .promise.catch(errorHandler); }