Skip to content

Commit aec0f8c

Browse files
Merge pull request #13 from an-ky/fix/handle-failureDetails
fix: handling of AssertionResult.failureDetails
2 parents 616b2b8 + f807542 commit aec0f8c

File tree

2 files changed

+30
-2
lines changed

2 files changed

+30
-2
lines changed

src/generate-report.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,7 @@ class GenerateCtrfReport implements Reporter {
174174
failureDetails.message = joinedMessages
175175
.slice(0, match?.index)
176176
.replace(colorCodesPattern, '')
177+
177178
failureDetails.trace = joinedMessages
178179
.slice(match?.index)
179180
.split('\n')
@@ -184,7 +185,10 @@ class GenerateCtrfReport implements Reporter {
184185
}
185186

186187
if (testResult.failureDetails !== undefined) {
187-
failureDetails.trace = testResult.failureMessages.join('\r\n')
188+
failureDetails.trace = failureDetails.trace?.concat(
189+
'\n\n',
190+
testResult.failureDetails.join('\n')
191+
)
188192
}
189193
return failureDetails
190194
}

test/generate-report.test.ts

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -233,7 +233,6 @@ describe('GenerateDetailedCtrfReport', () => {
233233
fullName: 'Test Case Full Name',
234234
ancestorTitles: ['parent'],
235235
duration: 100,
236-
237236
failureMessages: [
238237
'Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m"b"\u001b[39m\nReceived: \u001b[31mundefined\u001b[39m\n at Object.<anonymous> (/jest-ctrf-json-reporter/test/generate-report.test.ts:133:41)\n at Promise.then.completed (/jest-ctrf-json-reporter/node_modules/jest-circus/build/utils.js:298:28)\n',
239238
],
@@ -251,4 +250,29 @@ describe('GenerateDetailedCtrfReport', () => {
251250
'at Object.<anonymous> (/jest-ctrf-json-reporter/test/generate-report.test.ts:133:41)\nat Promise.then.completed (/jest-ctrf-json-reporter/node_modules/jest-circus/build/utils.js:298:28)\n'
252251
)
253252
})
253+
254+
it('should append failureDetails to trace', () => {
255+
const mockTestCaseResult = {
256+
status: 'failed' as Status,
257+
fullName: 'Test Case Full Name',
258+
ancestorTitles: ['parent'],
259+
failureDetails: ['details'],
260+
duration: 100,
261+
failureMessages: [
262+
'Error: \u001b[2mexpect(\u001b[22m\u001b[31mreceived\u001b[39m\u001b[2m).\u001b[22mtoBe\u001b[2m(\u001b[22m\u001b[32mexpected\u001b[39m\u001b[2m) // Object.is equality\u001b[22m\n\nExpected: \u001b[32m"b"\u001b[39m\nReceived: \u001b[31mundefined\u001b[39m\n at Object.<anonymous> (/jest-ctrf-json-reporter/test/generate-report.test.ts:133:41)\n at Promise.then.completed (/jest-ctrf-json-reporter/node_modules/jest-circus/build/utils.js:298:28)\n',
263+
],
264+
}
265+
const mockResult: TestResult = {
266+
testFilePath: '/path/to/test.ts',
267+
testResults: [mockTestCaseResult],
268+
} as TestResult
269+
270+
;(reporter as any).updateCtrfTestResultsFromTestResult(mockResult)
271+
272+
const updatedTestResult = reporter['ctrfReport'].results.tests[0]
273+
274+
expect(updatedTestResult.trace).toBe(
275+
'at Object.<anonymous> (/jest-ctrf-json-reporter/test/generate-report.test.ts:133:41)\nat Promise.then.completed (/jest-ctrf-json-reporter/node_modules/jest-circus/build/utils.js:298:28)\n\n\ndetails'
276+
)
277+
})
254278
})

0 commit comments

Comments
 (0)