@@ -258,4 +258,90 @@ describe('BrowserCollection', () => {
258258 } )
259259 } )
260260 } )
261+
262+ // ============================================================================
263+ // server.calculateExitCode
264+ // ============================================================================
265+ describe ( 'calculateExitCode' , ( ) => {
266+ const EXIT_CODE_ERROR = 1
267+ const EXIT_CODE_SUCCESS = 0
268+
269+ describe ( 'no tests' , ( ) => {
270+ const results = {
271+ success : 0 ,
272+ failed : 0 ,
273+ error : true
274+ }
275+ it ( 'shall pass if failOnEmptyTestSuite not is set' , ( ) => {
276+ const res = collection . calculateExitCode ( results )
277+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
278+ } )
279+ it ( 'shall pass if failOnEmptyTestSuite is false' , ( ) => {
280+ const res = collection . calculateExitCode ( results , false , false )
281+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
282+ } )
283+ it ( 'shall fail if failOnEmptyTestSuite is true' , ( ) => {
284+ const res = collection . calculateExitCode ( results , false , true )
285+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
286+ } )
287+ it ( 'shall fail if failOnFailingTestSuite is set' , ( ) => {
288+ const res = collection . calculateExitCode ( results , false , true , true )
289+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
290+ } )
291+ } )
292+ describe ( 'all test passed, no errors' , ( ) => {
293+ const results = {
294+ success : 10 ,
295+ failed : 0 ,
296+ error : false
297+ }
298+ it ( 'shall fail if singleRunBrowserNotCaptured is true' , ( ) => {
299+ const res = collection . calculateExitCode ( results , true )
300+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
301+ } )
302+ it ( 'shall pass if failOnEmptyTestSuite not is set' , ( ) => {
303+ const res = collection . calculateExitCode ( results , false )
304+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
305+ } )
306+ it ( 'shall pass if failOnEmptyTestSuite not is set' , ( ) => {
307+ const res = collection . calculateExitCode ( results , false , false )
308+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
309+ } )
310+ it ( 'shall pass if failOnFailingTestSuite is true' , ( ) => {
311+ const res = collection . calculateExitCode ( results , false , true , true )
312+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
313+ } )
314+ it ( 'shall pass if failOnFailingTestSuite is false' , ( ) => {
315+ const res = collection . calculateExitCode ( results , false , true , false )
316+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
317+ } )
318+ } )
319+ describe ( 'all test passed, with error' , ( ) => {
320+ const results = {
321+ success : 10 ,
322+ failed : 5 ,
323+ error : false
324+ }
325+ it ( 'shall fail if singleRunBrowserNotCaptured is true' , ( ) => {
326+ const res = collection . calculateExitCode ( results , true )
327+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
328+ } )
329+ it ( 'shall fail if failOnEmptyTestSuite not is set' , ( ) => {
330+ const res = collection . calculateExitCode ( results , false )
331+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
332+ } )
333+ it ( 'shall fail if failOnEmptyTestSuite not is set' , ( ) => {
334+ const res = collection . calculateExitCode ( results , false , false )
335+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
336+ } )
337+ it ( 'shall fail if failOnFailingTestSuite is true' , ( ) => {
338+ const res = collection . calculateExitCode ( results , false , true , true )
339+ expect ( res ) . to . be . equal ( EXIT_CODE_ERROR )
340+ } )
341+ it ( 'shall pass if failOnFailingTestSuite is false' , ( ) => {
342+ const res = collection . calculateExitCode ( results , false , true , false )
343+ expect ( res ) . to . be . equal ( EXIT_CODE_SUCCESS )
344+ } )
345+ } )
346+ } )
261347} )
0 commit comments