@@ -111,6 +111,37 @@ describe("reportHTML", () => {
111111 } ) ;
112112
113113 context ( "non 200 response" , ( ) => {
114+ it ( "422 status, build available but running, cannot generate report" , ( ) => {
115+ let build = { message : 'The report cannot be generated as the build is running' } ;
116+ let body = JSON . stringify ( build ) ;
117+ let requestStub = sandbox . stub ( request , "get" ) . yields ( null , { statusCode : 422 } , body ) ;
118+ let message = build . message ;
119+ let messageType = Constants . messageTypes . ERROR ;
120+ let errorCode = 'api_failed_build_generate_report' ;
121+
122+ const reporterHTML = proxyquire ( '../../../../bin/helpers/reporterHTML' , {
123+ './utils' : {
124+ validateBstackJson : validateBstackJsonStub ,
125+ setDefaultAuthHash : setDefaultAuthHashStub ,
126+ setUsername : setUsernameStub ,
127+ setAccessKey : setAccessKeyStub ,
128+ getUserAgent : getUserAgentStub ,
129+ setUsageReportingFlag : setUsageReportingFlagStub ,
130+ setCypressConfigFilename : setCypressConfigFilenameStub ,
131+ sendUsageReport : sendUsageReportStub ,
132+ setDefaults : setDefaultsStub ,
133+ getErrorCodeFromErr : getErrorCodeFromErrStub
134+ } ,
135+ request : { get : requestStub }
136+ } ) ;
137+
138+ reporterHTML . reportGenerator ( bsConfig , buildId , args ) ;
139+
140+ sinon . assert . calledOnce ( requestStub ) ;
141+ sinon . assert . calledOnce ( getUserAgentStub ) ;
142+ sinon . assert . calledOnceWithExactly ( sendUsageReportStub , bsConfig , args , message , messageType , errorCode ) ;
143+ } ) ;
144+
114145 it ( "400 status, build available, cannot generate report" , ( ) => {
115146 let build = { buildId : buildId , message : 'success' , rows : [ ] } ;
116147 let body = JSON . stringify ( build ) ;
0 commit comments