Skip to content

Commit 6e01b08

Browse files
committed
fix: ensure Expected vs Actual always appears in Mochawesome report
- Refactor passed-test context: compute Expected vs Actual once and add in single place - Prevents missing block when cURL/API Request are present (e.g. organization teams) - Use nullish coalescing for lastRequest fields to avoid undefined in output - Add test-curls.txt to .gitignore
1 parent 42cdbf1 commit 6e01b08

File tree

2 files changed

+13
-18
lines changed

2 files changed

+13
-18
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ tsconfig.json
6464

6565
# dotenv environment variables file
6666
.env
67+
test-curls.txt
6768

6869
# next.js build output
6970
.next

test/sanity-check/sanity.js

Lines changed: 12 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -170,34 +170,28 @@ afterEach(function() {
170170
// Get tracked assertions (from trackedExpect)
171171
const trackedAssertions = assertionTracker.getData()
172172

173-
// Add test result indicator
173+
// Build Expected vs Actual value once so we never skip it
174+
let expectedVsActualTitle = '📊 Expected vs Actual'
175+
let expectedVsActualValue = ''
176+
174177
if (testState === 'passed') {
175178
addContext(this, {
176179
title: '✅ Test Result',
177180
value: 'PASSED'
178181
})
179182

180-
// Add assertion details for passed tests (trackedExpect or API result)
181183
if (trackedAssertions.length > 0) {
182-
addContext(this, {
183-
title: '📊 Assertions Verified (Expected vs Actual)',
184-
value: trackedAssertions.map(a =>
185-
`✓ ${a.description}\n Expected: ${a.expected}\n Actual: ${a.actual}`
186-
).join('\n\n')
187-
})
184+
expectedVsActualTitle = '📊 Assertions Verified (Expected vs Actual)'
185+
expectedVsActualValue = trackedAssertions.map(a =>
186+
`✓ ${a.description}\n Expected: ${a.expected}\n Actual: ${a.actual}`
187+
).join('\n\n')
188188
} else if (lastRequest) {
189-
// Fallback: show API result for tests that use expect() not trackedExpect
190-
addContext(this, {
191-
title: '📊 Result (Expected vs Actual)',
192-
value: `Expected: Successful API response\nActual: ${lastRequest.status || 'OK'} - ${lastRequest.method} ${lastRequest.url}`
193-
})
189+
expectedVsActualValue = `Expected: Successful API response\nActual: ${lastRequest.status ?? 'OK'} - ${lastRequest.method || '?'} ${lastRequest.url || '?'}`
194190
} else {
195-
// Final fallback: test passed but no request/assertion captured
196-
addContext(this, {
197-
title: '📊 Result (Expected vs Actual)',
198-
value: 'Expected: Success\nActual: Test passed (no SDK request captured for this test)'
199-
})
191+
expectedVsActualValue = 'Expected: Success\nActual: Test passed (no SDK request captured for this test)'
200192
}
193+
// Always add Expected vs Actual for every passed test
194+
addContext(this, { title: expectedVsActualTitle, value: expectedVsActualValue })
201195

202196
// For passed tests, add the last request curl if available
203197
if (lastRequest && lastRequest.curl) {

0 commit comments

Comments
 (0)