From a1f5af1564bae090c6a233d53ccee0738b00f081 Mon Sep 17 00:00:00 2001 From: Jozef Izso Date: Sat, 25 Apr 2026 12:15:53 +0200 Subject: [PATCH] Add sort-suites report coverage --- __tests__/report/get-report.test.ts | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/__tests__/report/get-report.test.ts b/__tests__/report/get-report.test.ts index 30e1e89..2f60d03 100644 --- a/__tests__/report/get-report.test.ts +++ b/__tests__/report/get-report.test.ts @@ -1,4 +1,5 @@ -import {getBadge, DEFAULT_OPTIONS, ReportOptions} from '../../src/report/get-report.js' +import {DEFAULT_OPTIONS, getBadge, getReport, ReportOptions} from '../../src/report/get-report.js' +import {TestCaseResult, TestGroupResult, TestRunResult, TestSuiteResult} from '../../src/test-results.js' describe('getBadge', () => { describe('URI encoding with special characters', () => { @@ -131,3 +132,28 @@ describe('getBadge', () => { }) }) }) + +describe('getReport', () => { + it('sorts suites by descending time when configured', () => { + const results = [ + new TestRunResult('report.xml', [ + createSuite('unit', 10), + createSuite('integration', 30), + createSuite('smoke', 20) + ]) + ] + + const report = getReport(results, { + ...DEFAULT_OPTIONS, + sortSuites: 'time-desc', + listTests: 'none' + }) + + expect(report.indexOf('integration')).toBeLessThan(report.indexOf('smoke')) + expect(report.indexOf('smoke')).toBeLessThan(report.indexOf('unit')) + }) +}) + +function createSuite(name: string, time: number): TestSuiteResult { + return new TestSuiteResult(name, [new TestGroupResult(name, [new TestCaseResult(`${name}-test`, 'success', time)])]) +}