Skip to content

Commit 9a3c1bc

Browse files
committed
test: add snapshot test for scoreTargets effect on category scores
1 parent f7dec24 commit 9a3c1bc

File tree

2 files changed

+236
-0
lines changed

2 files changed

+236
-0
lines changed

packages/utils/src/lib/reports/__snapshots__/generate-md-report.unit.test.ts.snap

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,105 @@ Made with ❤ by [Code PushUp](https://github.com/code-pushup/cli#readme)
176176
"
177177
`;
178178

179+
exports[`generateMdReport > should show scoreTargets effect on category scores (before vs after) 1`] = `
180+
{
181+
"withScoreTargets": "# Code PushUp Report
182+
183+
| 🏷 Category |Score | 🛡 Audits |
184+
| :------------------------------ | :-------: | :-------: |
185+
| [Code Coverage](#code-coverage) | 🟢 **97** | 3 |
186+
187+
## 🏷 Categories
188+
189+
### Code Coverage
190+
191+
🟢 Score: **97**
192+
193+
- 🟢 Code Coverage (_Code coverage_)
194+
- 🟨 [Line Coverage](#line-coverage-code-coverage) - **70%**
195+
- 🟩 [Function Coverage](#function-coverage-code-coverage) - **100%**
196+
- 🟩 [Branch Coverage](#branch-coverage-code-coverage) - **80%**
197+
198+
## 🛡️ Audits
199+
200+
### Function Coverage (Code coverage)
201+
202+
🟩 **100%** (score: 100)
203+
204+
### Line Coverage (Code coverage)
205+
206+
🟨 **70%** (score: 70)
207+
208+
### Branch Coverage (Code coverage)
209+
210+
🟩 **80%** (score: 100)
211+
212+
## About
213+
214+
Report was created by [Code PushUp](https://github.com/code-pushup/cli#readme) on Wed, Jan 1, 2025, 12:00 AM UTC.
215+
216+
| Plugin | Audits | Version | Duration |
217+
| :------------ | :----: | :------: | -------: |
218+
| Code coverage | 3 | \`v1.0.0\` | 5.00 s |
219+
220+
| Commit | Version | Duration | Plugins | Categories | Audits |
221+
| :----------------------------------------------------------- | :------: | -------: | :-----: | :--------: | :----: |
222+
| ci: update action (535b8e9e557336618a764f3fa45609d224a62837) | \`v1.0.0\` | 4.20 s | 1 | 1 | 3 |
223+
224+
---
225+
226+
Made withby [Code PushUp](https://github.com/code-pushup/cli#readme)
227+
",
228+
"withoutScoreTargets": "# Code PushUp Report
229+
230+
| 🏷 Category | ⭐ Score | 🛡 Audits |
231+
| :------------------------------ | :-------: | :-------: |
232+
| [Code Coverage](#code-coverage) | 🟢 **91** | 3 |
233+
234+
## 🏷 Categories
235+
236+
### Code Coverage
237+
238+
🟢 Score: **91**
239+
240+
- 🟢 Code Coverage (_Code coverage_)
241+
- 🟨 [Line Coverage](#line-coverage-code-coverage) - **70%**
242+
- 🟨 [Branch Coverage](#branch-coverage-code-coverage) - **80%**
243+
- 🟩 [Function Coverage](#function-coverage-code-coverage) - **100%**
244+
245+
## 🛡️ Audits
246+
247+
### Function Coverage (Code coverage)
248+
249+
🟩 **100%** (score: 100)
250+
251+
### Line Coverage (Code coverage)
252+
253+
🟨 **70%** (score: 70)
254+
255+
### Branch Coverage (Code coverage)
256+
257+
🟨 **80%** (score: 80)
258+
259+
## About
260+
261+
Report was created by [Code PushUp](https://github.com/code-pushup/cli#readme) on Wed, Jan 1, 2025, 12:00 AM UTC.
262+
263+
| Plugin | Audits | Version | Duration |
264+
| :------------ | :----: | :------: | -------: |
265+
| Code coverage | 3 | \`v1.0.0\` | 5.00 s |
266+
267+
| Commit | Version | Duration | Plugins | Categories | Audits |
268+
| :----------------------------------------------------------- | :------: | -------: | :-----: | :--------: | :----: |
269+
| ci: update action (535b8e9e557336618a764f3fa45609d224a62837) | \`v1.0.0\` | 4.20 s | 1 | 1 | 3 |
270+
271+
---
272+
273+
Made withby [Code PushUp](https://github.com/code-pushup/cli#readme)
274+
",
275+
}
276+
`;
277+
179278
exports[`tableSection > should render complete section 1`] = `
180279
"| Phase | % of LCP | Timing |
181280
| :----------: | :------: | :----: |

packages/utils/src/lib/reports/generate-md-report.unit.test.ts

Lines changed: 137 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -916,4 +916,141 @@ module.exports = {
916916
}),
917917
).toMatchSnapshot();
918918
});
919+
920+
it('should show scoreTargets effect on category scores (before vs after)', () => {
921+
const basePluginData: ScoredReport['plugins'][number] = {
922+
date: '2025-08-02T09:00:00.000Z',
923+
duration: 5000,
924+
version: 'v1.0.0',
925+
icon: 'folder-coverage-open',
926+
packageName: '@code-pushup/coverage-plugin',
927+
slug: 'coverage',
928+
title: 'Code coverage',
929+
audits: [
930+
{
931+
slug: 'function-coverage',
932+
title: 'Function Coverage',
933+
score: 1,
934+
value: 100,
935+
displayValue: '100%',
936+
},
937+
{
938+
slug: 'line-coverage',
939+
title: 'Line Coverage',
940+
score: 0.7,
941+
value: 70,
942+
displayValue: '70%',
943+
},
944+
{
945+
slug: 'branch-coverage',
946+
title: 'Branch Coverage',
947+
score: 0.8,
948+
value: 80,
949+
displayValue: '80%',
950+
},
951+
],
952+
groups: [
953+
{
954+
slug: 'coverage',
955+
title: 'Code Coverage',
956+
score: 0.91, // (1*6 + 0.7*1 + 0.8*3) / 10 = 9.1/10
957+
refs: [
958+
{ slug: 'function-coverage', weight: 6 },
959+
{ slug: 'line-coverage', weight: 1 },
960+
{ slug: 'branch-coverage', weight: 3 },
961+
],
962+
},
963+
],
964+
};
965+
966+
const reportWithoutTargets: ScoredReport = {
967+
...baseScoredReport,
968+
plugins: [basePluginData],
969+
categories: [
970+
{
971+
title: 'Code Coverage',
972+
slug: 'code-coverage',
973+
score: 0.91,
974+
refs: [
975+
{
976+
type: 'group',
977+
plugin: 'coverage',
978+
slug: 'coverage',
979+
weight: 1,
980+
},
981+
],
982+
},
983+
],
984+
};
985+
986+
const reportWithTargets: ScoredReport = {
987+
...baseScoredReport,
988+
plugins: [
989+
{
990+
...basePluginData,
991+
audits: [
992+
{
993+
slug: 'function-coverage',
994+
title: 'Function Coverage',
995+
score: 1,
996+
value: 100,
997+
displayValue: '100%',
998+
scoreTarget: 0.75,
999+
},
1000+
{
1001+
slug: 'line-coverage',
1002+
title: 'Line Coverage',
1003+
score: 0.7,
1004+
value: 70,
1005+
displayValue: '70%',
1006+
scoreTarget: 0.75,
1007+
},
1008+
{
1009+
slug: 'branch-coverage',
1010+
title: 'Branch Coverage',
1011+
score: 1, // 0.8 >= 0.75
1012+
value: 80,
1013+
displayValue: '80%',
1014+
scoreTarget: 0.75,
1015+
},
1016+
],
1017+
groups: [
1018+
{
1019+
slug: 'coverage',
1020+
title: 'Code Coverage',
1021+
score: 0.97, // (1*6 + 0.7*1 + 1*3) / 10 = 9.7/10
1022+
refs: [
1023+
{ slug: 'function-coverage', weight: 6 },
1024+
{ slug: 'line-coverage', weight: 1 },
1025+
{ slug: 'branch-coverage', weight: 3 },
1026+
],
1027+
},
1028+
],
1029+
},
1030+
],
1031+
categories: [
1032+
{
1033+
title: 'Code Coverage',
1034+
slug: 'code-coverage',
1035+
score: 0.97,
1036+
refs: [
1037+
{
1038+
type: 'group',
1039+
plugin: 'coverage',
1040+
slug: 'coverage',
1041+
weight: 1,
1042+
},
1043+
],
1044+
},
1045+
],
1046+
};
1047+
1048+
const withoutTargetsReport = generateMdReport(reportWithoutTargets);
1049+
const withTargetsReport = generateMdReport(reportWithTargets);
1050+
1051+
expect({
1052+
withoutScoreTargets: withoutTargetsReport,
1053+
withScoreTargets: withTargetsReport,
1054+
}).toMatchSnapshot();
1055+
});
9191056
});

0 commit comments

Comments
 (0)