@@ -6,7 +6,7 @@ import { HttpResponse, delay, http } from 'msw'
66import nodeFetch from 'node-fetch'
77import queryString from 'query-string'
88import { vi } from 'vitest'
9- import { setupApiStore } from '../../tests/utils/helpers'
9+ import { hasBodyAndHeaders , setupApiStore } from '../../tests/utils/helpers'
1010import type { BaseQueryApi } from '../baseQueryTypes'
1111import { server } from './mocks/server'
1212
@@ -356,6 +356,10 @@ describe('fetchBaseQuery', () => {
356356 { } ,
357357 )
358358
359+ if ( ! hasBodyAndHeaders ( request ) ) {
360+ expect . fail ( 'Expected request to have body and headers' )
361+ }
362+
359363 expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
360364 expect ( request . body ) . toEqual ( data )
361365 } )
@@ -369,6 +373,10 @@ describe('fetchBaseQuery', () => {
369373 { } ,
370374 )
371375
376+ if ( ! hasBodyAndHeaders ( request ) ) {
377+ expect . fail ( 'Expected request to have body and headers' )
378+ }
379+
372380 expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
373381 expect ( request . body ) . toEqual ( data )
374382 } )
@@ -389,6 +397,10 @@ describe('fetchBaseQuery', () => {
389397 { } ,
390398 )
391399
400+ if ( ! hasBodyAndHeaders ( request ) ) {
401+ expect . fail ( 'Expected request to have body and headers' )
402+ }
403+
392404 expect ( request . headers [ 'content-type' ] ) . toBe ( 'text/html' )
393405 expect ( request . body ) . toEqual ( '[object Object]' )
394406 } )
@@ -407,6 +419,10 @@ describe('fetchBaseQuery', () => {
407419 { } ,
408420 )
409421
422+ if ( ! hasBodyAndHeaders ( request ) ) {
423+ expect . fail ( 'Expected request to have body and headers' )
424+ }
425+
410426 expect ( request . headers [ 'content-type' ] ) . toBe ( 'text/html' )
411427 expect ( request . body ) . toEqual ( data . join ( ',' ) )
412428 } )
@@ -428,6 +444,10 @@ describe('fetchBaseQuery', () => {
428444 { } ,
429445 )
430446
447+ if ( ! hasBodyAndHeaders ( request ) ) {
448+ expect . fail ( 'Expected request to have body and headers' )
449+ }
450+
431451 expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/vnd.api+json' )
432452 } )
433453
@@ -436,15 +456,20 @@ describe('fetchBaseQuery', () => {
436456 items : new Set ( [ 'A' , 'B' , 'C' ] ) ,
437457 }
438458
439- const { data : request } = await baseQuery (
459+ let request : any
460+ ; ( { data : request } = await baseQuery (
440461 {
441462 url : '/echo' ,
442463 body,
443464 method : 'POST' ,
444465 } ,
445466 commonBaseQueryApi ,
446467 { } ,
447- )
468+ ) )
469+
470+ if ( ! hasBodyAndHeaders ( request ) ) {
471+ expect . fail ( 'Expected request to have body and headers' )
472+ }
448473
449474 expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
450475 expect ( request . body ) . toEqual ( { items : { } } ) // Set is not properly marshalled by default
@@ -457,15 +482,19 @@ describe('fetchBaseQuery', () => {
457482 value instanceof Set ? [ ...value ] : value ,
458483 } )
459484
460- const { data : request } = await baseQueryWithReplacer (
485+ ; ( { data : request } = await baseQueryWithReplacer (
461486 {
462487 url : '/echo' ,
463488 body,
464489 method : 'POST' ,
465490 } ,
466491 commonBaseQueryApi ,
467492 { } ,
468- )
493+ ) )
494+
495+ if ( ! hasBodyAndHeaders ( request ) ) {
496+ expect . fail ( 'Expected request to have body and headers' )
497+ }
469498
470499 expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
471500 expect ( request . body ) . toEqual ( { items : [ 'A' , 'B' , 'C' ] } ) // Set is marshalled correctly by jsonReplacer
@@ -480,6 +509,14 @@ describe('fetchBaseQuery', () => {
480509 { } ,
481510 )
482511
512+ if ( ! hasBodyAndHeaders ( request ) ) {
513+ expect . fail ( 'Expected request to have body and headers' )
514+ }
515+
516+ if ( ! ( 'url' in request ) ) {
517+ expect . fail ( 'Expected request to have url' )
518+ }
519+
483520 expect ( request . url ) . toEqual ( `${ baseUrl } /echo` )
484521 } )
485522
@@ -492,6 +529,14 @@ describe('fetchBaseQuery', () => {
492529 { } ,
493530 )
494531
532+ if ( ! hasBodyAndHeaders ( request ) ) {
533+ expect . fail ( 'Expected request to have body and headers' )
534+ }
535+
536+ if ( ! ( 'url' in request ) ) {
537+ expect . fail ( 'Expected request to have url' )
538+ }
539+
495540 expect ( request . url ) . toEqual ( `${ baseUrl } /echo?a=1&b=true` )
496541 } )
497542
@@ -504,6 +549,14 @@ describe('fetchBaseQuery', () => {
504549 { } ,
505550 )
506551
552+ if ( ! hasBodyAndHeaders ( request ) ) {
553+ expect . fail ( 'Expected request to have body and headers' )
554+ }
555+
556+ if ( ! ( 'url' in request ) ) {
557+ expect . fail ( 'Expected request to have url' )
558+ }
559+
507560 expect ( request . url ) . toEqual ( `${ baseUrl } /echo?banana=pudding&a=1&b=true` )
508561 } )
509562
@@ -516,6 +569,14 @@ describe('fetchBaseQuery', () => {
516569 { } ,
517570 )
518571
572+ if ( ! hasBodyAndHeaders ( request ) ) {
573+ expect . fail ( 'Expected request to have body and headers' )
574+ }
575+
576+ if ( ! ( 'url' in request ) ) {
577+ expect . fail ( 'Expected request to have url' )
578+ }
579+
519580 expect ( request . url ) . toEqual ( `${ baseUrl } /echo?apple=fruit` )
520581 } )
521582
@@ -528,6 +589,14 @@ describe('fetchBaseQuery', () => {
528589 { } ,
529590 )
530591
592+ if ( ! hasBodyAndHeaders ( request ) ) {
593+ expect . fail ( 'Expected request to have body and headers' )
594+ }
595+
596+ if ( ! ( 'url' in request ) ) {
597+ expect . fail ( 'Expected request to have url' )
598+ }
599+
531600 expect ( request . url ) . toEqual ( `${ baseUrl } /echo?apple=fruit&randy=null` )
532601 } )
533602
@@ -567,6 +636,14 @@ describe('fetchBaseQuery', () => {
567636 { } ,
568637 )
569638
639+ if ( ! hasBodyAndHeaders ( request ) ) {
640+ expect . fail ( 'Expected request to have body and headers' )
641+ }
642+
643+ if ( ! ( 'url' in request ) ) {
644+ expect . fail ( 'Expected request to have url' )
645+ }
646+
570647 expect ( request . url ) . toEqual (
571648 `${ baseUrl } /echo?someArray[]=a&someArray[]=b&someArray[]=c` ,
572649 )
@@ -598,6 +675,14 @@ describe('fetchBaseQuery', () => {
598675 { } ,
599676 )
600677
678+ if ( ! hasBodyAndHeaders ( request ) ) {
679+ expect . fail ( 'Expected request to have body and headers' )
680+ }
681+
682+ if ( ! ( 'url' in request ) ) {
683+ expect . fail ( 'Expected request to have url' )
684+ }
685+
601686 expect ( request . body ) . toMatchObject ( testBody )
602687 } )
603688 } )
@@ -633,6 +718,14 @@ describe('fetchBaseQuery', () => {
633718 { } ,
634719 )
635720
721+ if ( ! hasBodyAndHeaders ( request ) ) {
722+ expect . fail ( 'Expected request to have body and headers' )
723+ }
724+
725+ if ( ! ( 'url' in request ) ) {
726+ expect . fail ( 'Expected request to have url' )
727+ }
728+
636729 expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
637730 expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
638731 expect ( request . headers [ 'delete2' ] ) . toBe ( defaultHeaders [ 'delete2' ] )
@@ -645,6 +738,14 @@ describe('fetchBaseQuery', () => {
645738 { } ,
646739 )
647740
741+ if ( ! hasBodyAndHeaders ( request ) ) {
742+ expect . fail ( 'Expected request to have body and headers' )
743+ }
744+
745+ if ( ! ( 'url' in request ) ) {
746+ expect . fail ( 'Expected request to have url' )
747+ }
748+
648749 expect ( request . headers [ 'authorization' ] ) . toBe ( 'Bearer banana' )
649750 expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
650751 expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
@@ -664,6 +765,14 @@ describe('fetchBaseQuery', () => {
664765 { } ,
665766 )
666767
768+ if ( ! hasBodyAndHeaders ( request ) ) {
769+ expect . fail ( 'Expected request to have body and headers' )
770+ }
771+
772+ if ( ! ( 'url' in request ) ) {
773+ expect . fail ( 'Expected request to have url' )
774+ }
775+
667776 expect ( request . headers [ 'authorization' ] ) . toBe ( 'Bearer banana' )
668777 expect ( request . headers [ 'content-type' ] ) . toBe ( 'custom-content-type' )
669778 expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
@@ -680,6 +789,14 @@ describe('fetchBaseQuery', () => {
680789 { } ,
681790 )
682791
792+ if ( ! hasBodyAndHeaders ( request ) ) {
793+ expect . fail ( 'Expected request to have body and headers' )
794+ }
795+
796+ if ( ! ( 'url' in request ) ) {
797+ expect . fail ( 'Expected request to have url' )
798+ }
799+
683800 expect ( request . headers [ 'fake' ] ) . toBe ( fake )
684801 expect ( request . headers [ 'delete' ] ) . toBeUndefined ( )
685802 expect ( request . headers [ 'delete2' ] ) . toBeUndefined ( )
@@ -700,6 +817,14 @@ describe('fetchBaseQuery', () => {
700817
701818 const { data : request } = await doRequest ( )
702819
820+ if ( ! hasBodyAndHeaders ( request ) ) {
821+ expect . fail ( 'Expected request to have body and headers' )
822+ }
823+
824+ if ( ! ( 'url' in request ) ) {
825+ expect . fail ( 'Expected request to have url' )
826+ }
827+
703828 expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
704829 } )
705830
@@ -720,6 +845,14 @@ describe('fetchBaseQuery', () => {
720845
721846 const { data : request } = await doRequest ( )
722847
848+ if ( ! hasBodyAndHeaders ( request ) ) {
849+ expect . fail ( 'Expected request to have body and headers' )
850+ }
851+
852+ if ( ! ( 'url' in request ) ) {
853+ expect . fail ( 'Expected request to have url' )
854+ }
855+
723856 expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
724857 } )
725858
@@ -739,6 +872,14 @@ describe('fetchBaseQuery', () => {
739872
740873 const { data : request } = await doRequest ( )
741874
875+ if ( ! hasBodyAndHeaders ( request ) ) {
876+ expect . fail ( 'Expected request to have body and headers' )
877+ }
878+
879+ if ( ! ( 'url' in request ) ) {
880+ expect . fail ( 'Expected request to have url' )
881+ }
882+
742883 expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
743884 } )
744885
@@ -890,6 +1031,14 @@ describe('fetchBaseQuery', () => {
8901031
8911032 const { data : request } = await doRequest ( )
8921033
1034+ if ( ! hasBodyAndHeaders ( request ) ) {
1035+ expect . fail ( 'Expected request to have body and headers' )
1036+ }
1037+
1038+ if ( ! ( 'url' in request ) ) {
1039+ expect . fail ( 'Expected request to have url' )
1040+ }
1041+
8931042 expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
8941043 } )
8951044
@@ -900,6 +1049,14 @@ describe('fetchBaseQuery', () => {
9001049 { } ,
9011050 )
9021051
1052+ if ( ! hasBodyAndHeaders ( request ) ) {
1053+ expect . fail ( 'Expected request to have body and headers' )
1054+ }
1055+
1056+ if ( ! ( 'url' in request ) ) {
1057+ expect . fail ( 'Expected request to have url' )
1058+ }
1059+
9031060 expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
9041061 expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
9051062 expect ( request . headers [ 'delete2' ] ) . toBe ( defaultHeaders [ 'delete2' ] )
@@ -914,6 +1071,14 @@ describe('fetchBaseQuery', () => {
9141071 { } ,
9151072 )
9161073
1074+ if ( ! hasBodyAndHeaders ( request ) ) {
1075+ expect . fail ( 'Expected request to have body and headers' )
1076+ }
1077+
1078+ if ( ! ( 'url' in request ) ) {
1079+ expect . fail ( 'Expected request to have url' )
1080+ }
1081+
9171082 expect ( request . headers [ 'banana' ] ) . toBe ( '1' )
9181083 expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
9191084 expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
@@ -929,6 +1094,10 @@ describe('fetchBaseQuery', () => {
9291094 { } ,
9301095 )
9311096
1097+ if ( ! hasBodyAndHeaders ( request ) ) {
1098+ expect . fail ( 'Expected request to have body and headers' )
1099+ }
1100+
9321101 expect ( request . headers [ 'banana' ] ) . toBeUndefined ( )
9331102 expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
9341103 expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
@@ -1047,6 +1216,14 @@ describe('fetchFn', () => {
10471216 { } ,
10481217 )
10491218
1219+ if ( ! hasBodyAndHeaders ( request ) ) {
1220+ expect . fail ( 'Expected request to have body and headers' )
1221+ }
1222+
1223+ if ( ! ( 'url' in request ) ) {
1224+ expect . fail ( 'Expected request to have url' )
1225+ }
1226+
10501227 expect ( request . url ) . toEqual ( `${ baseUrl } /echo?apple=fruit` )
10511228 } )
10521229
0 commit comments