(caseName: string)
| 3 | import { recordReportEvent, setActiveReportCase } from '../src/report.js'; |
| 4 | |
| 5 | export function createCaseLogger(caseName: string): (label: string, value?: unknown) => void { |
| 6 | setActiveReportCase(caseName); |
| 7 | let failed = false; |
| 8 | onTestFailed((error) => { |
| 9 | failed = true; |
| 10 | recordReportEvent({ |
| 11 | kind: 'test-result', |
| 12 | caseName, |
| 13 | state: 'failed', |
| 14 | error: errorForLog(error), |
| 15 | }); |
| 16 | }); |
| 17 | onTestFinished(() => { |
| 18 | if (failed) return; |
| 19 | recordReportEvent({ |
| 20 | kind: 'test-result', |
| 21 | caseName, |
| 22 | state: 'passed', |
| 23 | }); |
| 24 | }); |
| 25 | return (label, value) => { |
| 26 | recordReportEvent({ kind: 'log', caseName, label, value }); |
| 27 | const prefix = `[server-e2e] ${caseName} :: ${label}`; |
| 28 | if (value === undefined) { |
| 29 | writeLogLine(prefix); |
| 30 | return; |
| 31 | } |
| 32 | writeLogLine(`${prefix}\n${stringifyForLog(value)}`); |
| 33 | }; |
| 34 | } |
| 35 | |
| 36 | export function errorForLog(error: unknown): unknown { |
| 37 | if (error instanceof Error) { |
no test coverage detected