From 825312863279e7c025fecc2e5dac7103e84fdd1b Mon Sep 17 00:00:00 2001 From: David Losert Date: Fri, 10 Jun 2022 08:37:30 +0000 Subject: [PATCH] feat: Adds coverage percentage to report --- README.md | 2 ++ src/generateSummaryTableData.test.ts | 10 ++++++++++ src/generateSummaryTableData.ts | 5 ++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8fdc85f..9d5b232 100644 --- a/README.md +++ b/README.md @@ -62,3 +62,5 @@ This is a work in progress project. Currently, it will only take an already crea - [ ] Make summary file configurable - [ ] Invoke 'vitest' directly from the action - [ ] Also provide test results (failed tests etc.) in the generated markdown reports +- [ ] Add option to let the action fail if coverage thresholds are not met +- [ ] Also report test results themselves diff --git a/src/generateSummaryTableData.test.ts b/src/generateSummaryTableData.test.ts index 01a906c..cb0b751 100644 --- a/src/generateSummaryTableData.test.ts +++ b/src/generateSummaryTableData.test.ts @@ -78,4 +78,14 @@ describe('generateTableData', () => { expect(result).toContain('8 / 10'); }); + + it('if threshold is given, provides the threshold in the percentage column.', async (): Promise => { + const data = generateSummaryTableData(mockReport, { + lines: 100 + }); + + const result = stringifyTableData(data); + + expect(result).toContain('80% / 100%'); + }); }); diff --git a/src/generateSummaryTableData.ts b/src/generateSummaryTableData.ts index c465894..918493a 100644 --- a/src/generateSummaryTableData.ts +++ b/src/generateSummaryTableData.ts @@ -8,14 +8,17 @@ type TableData = Parameters[0]; const generateTableLine = ({ reportNumbers, category, threshold }: { reportNumbers: ReportNumbers; category: string; threshold?: number; }): string[] => { let status = ':large_blue_circle:'; + let percent = `${reportNumbers.pct}%`; + if(threshold) { status = reportNumbers.pct >= threshold ? ':white_check_mark:' : ':x:'; + percent = `${percent} / ${threshold}%`; } return [ status, category, - `${reportNumbers.pct}%`, + `${percent}`, `${reportNumbers.covered} / ${reportNumbers.total}`, ] }