@@ -186,8 +186,10 @@ describe('Contentstack HTTP Client', () => {
186186 mock . onGet ( '/test' ) . reply ( 200 , { data : 'test' } )
187187
188188 axiosInstance . get ( '/test' ) . then ( ( ) => {
189+ // eslint-disable-next-line no-unused-expressions
189190 expect ( onRequestSpy . calledOnce ) . to . be . true
190- expect ( onRequestSpy . calledWith ( sinon . match . object ) ) ) . to . be . true
191+ // eslint-disable-next-line no-unused-expressions
192+ expect ( onRequestSpy . calledWith ( sinon . match . object ) ) . to . be . true
191193 done ( )
192194 } ) . catch ( done )
193195 } )
@@ -240,8 +242,10 @@ describe('Contentstack HTTP Client', () => {
240242 mock . onGet ( '/test' ) . reply ( 200 , { data : 'test' } )
241243
242244 axiosInstance . get ( '/test' ) . then ( ( ) => {
245+ // eslint-disable-next-line no-unused-expressions
243246 expect ( onResponseSpy . calledOnce ) . to . be . true
244- expect ( onResponseSpy . calledWith ( sinon . match . object ) ) ) . to . be . true
247+ // eslint-disable-next-line no-unused-expressions
248+ expect ( onResponseSpy . calledWith ( sinon . match . object ) ) . to . be . true
245249 done ( )
246250 } ) . catch ( done )
247251 } )
@@ -250,21 +254,36 @@ describe('Contentstack HTTP Client', () => {
250254 const onResponseSpy = sinon . spy ( )
251255 const plugin = {
252256 onRequest : ( ) => { } ,
253- onResponse : onResponseSpy
257+ onResponse : ( error ) => {
258+ onResponseSpy ( error )
259+ return error
260+ }
254261 }
255262
256263 const axiosInstance = contentstackHTTPClient ( {
257264 defaultHostName : 'defaulthost' ,
258- plugins : [ plugin ]
265+ plugins : [ plugin ] ,
266+ retryOnError : false ,
267+ retryLimit : 0 ,
268+ retryOnHttpServerError : false , // Disable HTTP server error retries
269+ maxNetworkRetries : 0 // Disable network retries
259270 } )
260271
261272 const mock = new MockAdapter ( axiosInstance )
262273 mock . onGet ( '/test' ) . reply ( 500 , { error : 'Server Error' } )
263274
264- axiosInstance . get ( '/test' ) . catch ( ( error ) => {
265- expect ( onResponseSpy . calledOnce ) . to . be . true
266- expect ( onResponseSpy . calledWith ( sinon . match . object ) ) ) . to . be . true
275+ axiosInstance . get ( '/test' ) . catch ( ( ) => {
276+ // Plugin should be called for the error
277+ // eslint-disable-next-line no-unused-expressions
278+ expect ( onResponseSpy . called ) . to . be . true
279+ if ( onResponseSpy . called ) {
280+ // eslint-disable-next-line no-unused-expressions
281+ expect ( onResponseSpy . calledWith ( sinon . match . object ) ) . to . be . true
282+ }
267283 done ( )
284+ } ) . catch ( ( err ) => {
285+ // Ensure done is called even if there's an unexpected error
286+ done ( err )
268287 } )
269288 } )
270289
@@ -390,12 +409,15 @@ describe('Contentstack HTTP Client', () => {
390409
391410 const mock = new MockAdapter ( axiosInstance )
392411 mock . onGet ( '/test' ) . reply ( ( config ) => {
412+ // eslint-disable-next-line no-unused-expressions
393413 expect ( config . headers [ 'X-Working' ] ) . to . be . equal ( customHeader )
394414 return [ 200 , { data : 'test' } ]
395415 } )
396416
397417 axiosInstance . get ( '/test' ) . then ( ( ) => {
418+ // eslint-disable-next-line no-unused-expressions
398419 expect ( workingPluginSpy . callCount ) . to . be . equal ( 2 ) // Called for both request and response
420+ // eslint-disable-next-line no-unused-expressions
399421 expect ( logHandlerSpy . called ) . to . be . true
400422 done ( )
401423 } ) . catch ( done )
@@ -426,6 +448,7 @@ describe('Contentstack HTTP Client', () => {
426448 mock . onGet ( '/test' ) . reply ( 200 , { data : 'test' } )
427449
428450 axiosInstance . get ( '/test' ) . then ( ( ) => {
451+ // eslint-disable-next-line no-unused-expressions
429452 expect ( validPluginSpy . calledOnce ) . to . be . true
430453 done ( )
431454 } ) . catch ( done )
@@ -438,6 +461,7 @@ describe('Contentstack HTTP Client', () => {
438461 } )
439462
440463 // Should not throw errors
464+ // eslint-disable-next-line no-unused-expressions
441465 expect ( axiosInstance ) . to . not . be . undefined
442466 done ( )
443467 } )
@@ -449,6 +473,7 @@ describe('Contentstack HTTP Client', () => {
449473 } )
450474
451475 // Should not throw errors
476+ // eslint-disable-next-line no-unused-expressions
452477 expect ( axiosInstance ) . to . not . be . undefined
453478 done ( )
454479 } )
0 commit comments