1- import { DiffChecker } from '../src/DiffChecker'
1+ import { DiffChecker } from '../src/DiffChecker'
22
33describe ( 'DiffChecker' , ( ) => {
44 const mock100Coverage = {
@@ -13,6 +13,12 @@ describe('DiffChecker', () => {
1313 skipped : 1 ,
1414 pct : 99
1515 }
16+ const mock98Coverage = {
17+ total : 100 ,
18+ covered : 98 ,
19+ skipped : 1 ,
20+ pct : 98
21+ }
1622 const mockEmptyCoverage = {
1723 total : 100 ,
1824 covered : 0 ,
@@ -31,6 +37,12 @@ describe('DiffChecker', () => {
3137 functions : mock100Coverage ,
3238 lines : mock100Coverage
3339 }
40+ const mock98CoverageFile = {
41+ statements : mock98Coverage ,
42+ branches : mock98Coverage ,
43+ functions : mock98Coverage ,
44+ lines : mock98Coverage
45+ }
3446 const mockEmptyCoverageFile = {
3547 statements : mockEmptyCoverage ,
3648 branches : mockEmptyCoverage ,
@@ -65,4 +77,118 @@ describe('DiffChecker', () => {
6577 ' :x: | ~~file4~~ | ~~100~~ | ~~100~~ | ~~100~~ | ~~100~~'
6678 ] )
6779 } )
80+ describe ( "testing checkIfTestCoverageFallsBelowDelta" , ( ) => {
81+ describe ( "respects total_delta for total and delta for other files" , ( ) => {
82+ it ( "returns true because delta diff is too high, even if total_delta is okay" , ( ) => {
83+ const codeCoverageOld = {
84+ total : mock100CoverageFile ,
85+ file1 : mock100CoverageFile
86+ }
87+ const codeCoverageNew = {
88+ total : mock98CoverageFile ,
89+ file1 : mock98CoverageFile
90+ }
91+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
92+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 1 , 50 )
93+ expect ( isTestCoverageFallsBelowDelta ) . toBeTruthy ( ) ;
94+ } )
95+ it ( "returns true because total_delta diff is too high, even if delta is okay" , ( ) => {
96+ const codeCoverageOld = {
97+ total : mock100CoverageFile ,
98+ file1 : mock100CoverageFile
99+ }
100+ const codeCoverageNew = {
101+ total : mock98CoverageFile ,
102+ file1 : mock98CoverageFile
103+ }
104+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
105+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 50 , 1 )
106+ expect ( isTestCoverageFallsBelowDelta ) . toBeTruthy ( ) ;
107+ } )
108+ it ( "returns true if delta diff is too high - total_delta is not defined" , ( ) => {
109+ const codeCoverageOld = {
110+ total : mock100CoverageFile ,
111+ file1 : mock100CoverageFile
112+ }
113+ const codeCoverageNew = {
114+ total : mock98CoverageFile ,
115+ file1 : mock98CoverageFile
116+ }
117+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
118+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 1 , null )
119+ expect ( isTestCoverageFallsBelowDelta ) . toBeTruthy ( ) ;
120+ } )
121+ it ( "returns false if total_delta and delta are okay" , ( ) => {
122+ const codeCoverageOld = {
123+ total : mock100CoverageFile ,
124+ file1 : mock100CoverageFile
125+ }
126+ const codeCoverageNew = {
127+ total : mock98CoverageFile ,
128+ file1 : mock98CoverageFile
129+ }
130+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
131+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 50 , 50 )
132+ expect ( isTestCoverageFallsBelowDelta ) . toBeFalsy ( ) ;
133+ } )
134+ it ( "returns false if delta is okay - total_delta is not defined" , ( ) => {
135+ const codeCoverageOld = {
136+ total : mock100CoverageFile ,
137+ file1 : mock100CoverageFile
138+ }
139+ const codeCoverageNew = {
140+ total : mock98CoverageFile ,
141+ file1 : mock98CoverageFile
142+ }
143+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
144+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 50 , null )
145+ expect ( isTestCoverageFallsBelowDelta ) . toBeFalsy ( ) ;
146+ } )
147+ } )
148+ it ( "detects that total coverage dropped below total_delta" , ( ) => {
149+ const codeCoverageOld = {
150+ total : mock100CoverageFile ,
151+ }
152+ const codeCoverageNew = {
153+ total : mock98CoverageFile ,
154+ }
155+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
156+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 2 , 1 )
157+ expect ( isTestCoverageFallsBelowDelta ) . toBeTruthy ( ) ;
158+ } )
159+ it ( "detects that total coverage did not drop below total_delta" , ( ) => {
160+ const codeCoverageOld = {
161+ total : mock100CoverageFile ,
162+ }
163+ const codeCoverageNew = {
164+ total : mock98CoverageFile ,
165+ }
166+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
167+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 1 , 5 )
168+ expect ( isTestCoverageFallsBelowDelta ) . toBeFalsy ( ) ;
169+ } )
170+ it ( "detects that total coverage dropped below delta" , ( ) => {
171+ const codeCoverageOld = {
172+ total : mock100CoverageFile ,
173+ }
174+ const codeCoverageNew = {
175+ total : mock98CoverageFile ,
176+ }
177+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
178+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 1 , null )
179+ expect ( isTestCoverageFallsBelowDelta ) . toBeTruthy ( ) ;
180+ } )
181+ it ( "detects that total coverage did not drop below delta" , ( ) => {
182+ const codeCoverageOld = {
183+ total : mock100CoverageFile ,
184+ }
185+ const codeCoverageNew = {
186+ total : mock98CoverageFile ,
187+ }
188+ const diffChecker = new DiffChecker ( codeCoverageNew , codeCoverageOld )
189+ const isTestCoverageFallsBelowDelta = diffChecker . checkIfTestCoverageFallsBelowDelta ( 2 , null )
190+ expect ( isTestCoverageFallsBelowDelta ) . toBeFalsy ( ) ;
191+ } )
192+
193+ } )
68194} )
0 commit comments