@@ -78,6 +78,7 @@ export type DeployResponseType =
7878 | 'failedTest'
7979 | 'passedTest'
8080 | 'passedAndFailedTest'
81+ | 'codeCoverageWarning'
8182 | 'partialSuccessSync' ;
8283
8384export const getDeployResponse = (
@@ -199,6 +200,52 @@ export const getDeployResponse = (
199200 response . runTestsEnabled = true ;
200201 response . numberTestErrors = 0 ;
201202 }
203+ if ( type === 'codeCoverageWarning' ) {
204+ response . status = RequestStatus . Failed ;
205+ response . success = false ;
206+ response . details . componentFailures = cloneJson ( baseDeployResponse . details . componentSuccesses [ 1 ] ) as DeployMessage ;
207+ response . details . componentSuccesses = cloneJson ( baseDeployResponse . details . componentSuccesses [ 0 ] ) as DeployMessage ;
208+ response . details . componentFailures . success = 'false' ;
209+ delete response . details . componentFailures . id ;
210+ if ( response . details . runTestResult ) {
211+ response . details . runTestResult . successes = [
212+ {
213+ name : 'ChangePasswordController' ,
214+ methodName : 'testMethod' ,
215+ id : 'testId' ,
216+ time : 'testTime' ,
217+ } ,
218+ ] ;
219+ response . details . runTestResult . failures = [ ] ;
220+ response . details . runTestResult . codeCoverageWarnings = [
221+ {
222+ id : response . id ,
223+ namespace : '' ,
224+ message :
225+ 'Average test coverage across all Apex Classes and Triggers is 25%, at least 75% test coverage is required.' ,
226+ } ,
227+ ] ;
228+ response . details . runTestResult . codeCoverage = [
229+ {
230+ id : 'ChangePasswordController' ,
231+ type : 'ApexClass' ,
232+ name : 'ChangePasswordController' ,
233+ numLocations : '1' ,
234+ locationsNotCovered : {
235+ column : '54' ,
236+ line : '2' ,
237+ numExecutions : '1' ,
238+ time : '2' ,
239+ } ,
240+ numLocationsNotCovered : '5' ,
241+ } ,
242+ ] ;
243+ response . details . runTestResult . numFailures = '0' ;
244+ response . numberTestsTotal = 1 ;
245+ }
246+ response . runTestsEnabled = true ;
247+ response . numberTestErrors = 0 ;
248+ }
202249 if ( type === 'passedAndFailedTest' ) {
203250 response . status = RequestStatus . Failed ;
204251 response . success = false ;
0 commit comments