mirror of
https://github.com/dorny/test-reporter.git
synced 2026-02-04 12:15:21 -08:00
feat: add collapsed option to control report visibility
This commit is contained in:
@@ -16,6 +16,7 @@ export interface ReportOptions {
|
||||
useActionsSummary: boolean
|
||||
badgeTitle: string
|
||||
reportTitle: string
|
||||
collapsed: 'auto' | 'always' | 'never'
|
||||
}
|
||||
|
||||
export const DEFAULT_OPTIONS: ReportOptions = {
|
||||
@@ -25,7 +26,8 @@ export const DEFAULT_OPTIONS: ReportOptions = {
|
||||
onlySummary: false,
|
||||
useActionsSummary: true,
|
||||
badgeTitle: 'tests',
|
||||
reportTitle: ''
|
||||
reportTitle: '',
|
||||
collapsed: 'auto'
|
||||
}
|
||||
|
||||
export function getReport(results: TestRunResult[], options: ReportOptions = DEFAULT_OPTIONS): string {
|
||||
@@ -154,7 +156,13 @@ export function getBadge(passed: number, failed: number, skipped: number, option
|
||||
function getTestRunsReport(testRuns: TestRunResult[], options: ReportOptions): string[] {
|
||||
const sections: string[] = []
|
||||
const totalFailed = testRuns.reduce((sum, tr) => sum + tr.failed, 0)
|
||||
if (totalFailed === 0) {
|
||||
|
||||
// Determine if report should be collapsed based on collapsed option
|
||||
const shouldCollapse =
|
||||
options.collapsed === 'always' ||
|
||||
(options.collapsed === 'auto' && totalFailed === 0)
|
||||
|
||||
if (shouldCollapse) {
|
||||
sections.push(`<details><summary>Expand for details</summary>`)
|
||||
sections.push(` `)
|
||||
}
|
||||
@@ -187,7 +195,7 @@ function getTestRunsReport(testRuns: TestRunResult[], options: ReportOptions): s
|
||||
sections.push(...suitesReports)
|
||||
}
|
||||
|
||||
if (totalFailed === 0) {
|
||||
if (shouldCollapse) {
|
||||
sections.push(`</details>`)
|
||||
}
|
||||
return sections
|
||||
|
||||
Reference in New Issue
Block a user