@@ -111,6 +111,37 @@ describe("reportHTML", () => {
111
111
} ) ;
112
112
113
113
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
+
114
145
it ( "400 status, build available, cannot generate report" , ( ) => {
115
146
let build = { buildId : buildId , message : 'success' , rows : [ ] } ;
116
147
let body = JSON . stringify ( build ) ;
0 commit comments