1- import { ProcessedTestResult , ProcessedCoverageResult } from "../src/interfaces" ;
2- import { mockProcessedTestResults , mockProcessedCoverageResults } from "./mockResults" ;
3- import { processTestResults , processCoverageReport } from "../src/testResultProcessing" ;
1+ import {
2+ ProcessedTestResult ,
3+ ProcessedCoverageResult ,
4+ } from "../src/interfaces" ;
5+ import {
6+ mockProcessedTestResults ,
7+ mockProcessedCoverageResults ,
8+ } from "./mockResults" ;
9+ import {
10+ processTestResults ,
11+ processCoverageReport ,
12+ } from "../src/testResultProcessing" ;
413import { formatResults } from "../src/formatResults" ;
514
615import * as path from "path" ;
716import * as fs from "fs" ;
817
918// Obtained by running `opa test ./spacelift_policies --format=json --v0-compatible`
1019export const testOutput = fs . readFileSync (
11- path . join ( __dirname , "sample_test_output.txt" ) ,
12- "utf8" ,
13- ) ;
20+ path . join ( __dirname , "sample_test_output.txt" ) ,
21+ "utf8" ,
22+ ) ;
1423
1524export const coverageOutput = fs . readFileSync (
1625 path . join ( __dirname , "sample_coverage_output.txt" ) ,
@@ -61,53 +70,66 @@ describe("processTestResults", () => {
6170 } ) ;
6271} ) ;
6372
64-
6573describe ( "processCoverageReport" , ( ) => {
66- const parsedCoverageResults = processCoverageReport ( JSON . parse ( coverageOutput ) ) ;
74+ const parsedCoverageResults = processCoverageReport (
75+ JSON . parse ( coverageOutput ) ,
76+ ) ;
6777
6878 it ( "should correctly parse coverage output - singular not covered lines" , ( ) => {
69- const targetFile = 'cancel-in-progress-runs.rego' ;
70- const result = parsedCoverageResults . find ( item => item . file === targetFile ) ;
79+ const targetFile = "cancel-in-progress-runs.rego" ;
80+ const result = parsedCoverageResults . find (
81+ ( item ) => item . file === targetFile ,
82+ ) ;
7183
7284 expect ( result ) . toBeDefined ( ) ;
7385 expect ( result ! . coverage ) . toBeCloseTo ( 83.33 ) ;
74- expect ( result ! . notCoveredLines ) . toBe ( '16' ) ;
86+ expect ( result ! . notCoveredLines ) . toBe ( "16" ) ;
7587 } ) ;
7688
7789 it ( "should correctly parse coverage output - multiple, hyphenated not covered lines" , ( ) => {
78- const targetFile = 'enforce-module-use-policy.rego' ;
79- const result = parsedCoverageResults . find ( item => item . file === targetFile ) ;
90+ const targetFile = "enforce-module-use-policy.rego" ;
91+ const result = parsedCoverageResults . find (
92+ ( item ) => item . file === targetFile ,
93+ ) ;
8094
8195 expect ( result ) . toBeDefined ( ) ;
8296 expect ( result ! . coverage ) . toBeCloseTo ( 47.826 ) ;
83- expect ( result ! . notCoveredLines ) . toBe ( '37, 42, 46, 52, 54, 57, 60-61, 64, 68, 78, 80' ) ;
97+ expect ( result ! . notCoveredLines ) . toBe (
98+ "37, 42, 46, 52, 54, 57, 60-61, 64, 68, 78, 80" ,
99+ ) ;
84100 } ) ;
85101
86102 it ( "should correctly parse coverage output - multiple, comma-separated not covered lines" , ( ) => {
87- const targetFile = 'readers-writers-admins-teams.rego' ;
88- const result = parsedCoverageResults . find ( item => item . file === targetFile ) ;
103+ const targetFile = "readers-writers-admins-teams.rego" ;
104+ const result = parsedCoverageResults . find (
105+ ( item ) => item . file === targetFile ,
106+ ) ;
89107
90108 expect ( result ) . toBeDefined ( ) ;
91109 expect ( result ! . coverage ) . toBeCloseTo ( 83.33 ) ;
92- expect ( result ! . notCoveredLines ) . toBe ( ' 16, 24, 28' ) ;
110+ expect ( result ! . notCoveredLines ) . toBe ( " 16, 24, 28" ) ;
93111 } ) ;
94112
95113 it ( "should correctly parse coverage output - undefined coverage" , ( ) => {
96- const targetFile = 'drift-detection.rego' ;
97- const result = parsedCoverageResults . find ( item => item . file === targetFile ) ;
114+ const targetFile = "drift-detection.rego" ;
115+ const result = parsedCoverageResults . find (
116+ ( item ) => item . file === targetFile ,
117+ ) ;
98118
99119 expect ( result ) . toBeDefined ( ) ;
100120 expect ( result ! . coverage ) . toBeUndefined ( ) ;
101- expect ( result ! . notCoveredLines ) . toBe ( ' 3, 5, 8, 11' ) ;
121+ expect ( result ! . notCoveredLines ) . toBe ( " 3, 5, 8, 11" ) ;
102122 } ) ;
103123
104124 it ( "should correctly parse coverage output - 100% coverage with empty not covered lines" , ( ) => {
105- const targetFile = 'tests/cancel-in-progress-runs_test.rego' ;
106- const result = parsedCoverageResults . find ( item => item . file === targetFile ) ;
125+ const targetFile = "tests/cancel-in-progress-runs_test.rego" ;
126+ const result = parsedCoverageResults . find (
127+ ( item ) => item . file === targetFile ,
128+ ) ;
107129
108130 expect ( result ) . toBeDefined ( ) ;
109131 expect ( result ! . coverage ) . toBe ( 100 ) ;
110- expect ( result ! . notCoveredLines ) . toBe ( '' ) ;
132+ expect ( result ! . notCoveredLines ) . toBe ( "" ) ;
111133 } ) ;
112134} ) ;
113135
@@ -126,7 +148,7 @@ describe("formatResults", () => {
126148 } ,
127149 ] ;
128150 const specificCoverageResult = parsedCoverageResults . filter (
129- ( res ) => res . file === "tests/ignore-changes-outside-root.rego"
151+ ( res ) => res . file === "tests/ignore-changes-outside-root.rego" ,
130152 ) ;
131153
132154 const result = formatResults ( testResults , specificCoverageResult , true ) ;
@@ -201,7 +223,9 @@ describe("formatResults", () => {
201223 const resultRows = result
202224 . split ( "\n" )
203225 . filter ( ( line ) => line . startsWith ( "|" ) && line . includes ( "PASS" ) ) ;
204- expect ( resultRows . length ) . toBe ( parsedTestResults . filter ( r => r . status === "PASS" ) . length ) ;
226+ expect ( resultRows . length ) . toBe (
227+ parsedTestResults . filter ( ( r ) => r . status === "PASS" ) . length ,
228+ ) ;
205229 } ) ;
206230
207231 it ( "should format results without coverage when showCoverage is false" , ( ) => {
@@ -244,7 +268,7 @@ describe("formatResults", () => {
244268 } ,
245269 ] ;
246270 const specificCoverageResult = parsedCoverageResults . filter (
247- ( res ) => res . file === "tests/ignore-changes-outside-root.rego"
271+ ( res ) => res . file === "tests/ignore-changes-outside-root.rego" ,
248272 ) ;
249273 const result = formatResults ( testResults , specificCoverageResult , true ) ;
250274 expect ( result ) . toContain (
0 commit comments