@@ -6,7 +6,7 @@ import { HttpResponse, delay, http } from 'msw'
6
6
import nodeFetch from 'node-fetch'
7
7
import queryString from 'query-string'
8
8
import { vi } from 'vitest'
9
- import { setupApiStore } from '../../tests/utils/helpers'
9
+ import { hasBodyAndHeaders , setupApiStore } from '../../tests/utils/helpers'
10
10
import type { BaseQueryApi } from '../baseQueryTypes'
11
11
import { server } from './mocks/server'
12
12
@@ -356,6 +356,10 @@ describe('fetchBaseQuery', () => {
356
356
{ } ,
357
357
)
358
358
359
+ if ( ! hasBodyAndHeaders ( request ) ) {
360
+ expect . fail ( 'Expected request to have body and headers' )
361
+ }
362
+
359
363
expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
360
364
expect ( request . body ) . toEqual ( data )
361
365
} )
@@ -369,6 +373,10 @@ describe('fetchBaseQuery', () => {
369
373
{ } ,
370
374
)
371
375
376
+ if ( ! hasBodyAndHeaders ( request ) ) {
377
+ expect . fail ( 'Expected request to have body and headers' )
378
+ }
379
+
372
380
expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
373
381
expect ( request . body ) . toEqual ( data )
374
382
} )
@@ -389,6 +397,10 @@ describe('fetchBaseQuery', () => {
389
397
{ } ,
390
398
)
391
399
400
+ if ( ! hasBodyAndHeaders ( request ) ) {
401
+ expect . fail ( 'Expected request to have body and headers' )
402
+ }
403
+
392
404
expect ( request . headers [ 'content-type' ] ) . toBe ( 'text/html' )
393
405
expect ( request . body ) . toEqual ( '[object Object]' )
394
406
} )
@@ -407,6 +419,10 @@ describe('fetchBaseQuery', () => {
407
419
{ } ,
408
420
)
409
421
422
+ if ( ! hasBodyAndHeaders ( request ) ) {
423
+ expect . fail ( 'Expected request to have body and headers' )
424
+ }
425
+
410
426
expect ( request . headers [ 'content-type' ] ) . toBe ( 'text/html' )
411
427
expect ( request . body ) . toEqual ( data . join ( ',' ) )
412
428
} )
@@ -428,6 +444,10 @@ describe('fetchBaseQuery', () => {
428
444
{ } ,
429
445
)
430
446
447
+ if ( ! hasBodyAndHeaders ( request ) ) {
448
+ expect . fail ( 'Expected request to have body and headers' )
449
+ }
450
+
431
451
expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/vnd.api+json' )
432
452
} )
433
453
@@ -436,15 +456,20 @@ describe('fetchBaseQuery', () => {
436
456
items : new Set ( [ 'A' , 'B' , 'C' ] ) ,
437
457
}
438
458
439
- const { data : request } = await baseQuery (
459
+ let request : any
460
+ ; ( { data : request } = await baseQuery (
440
461
{
441
462
url : '/echo' ,
442
463
body,
443
464
method : 'POST' ,
444
465
} ,
445
466
commonBaseQueryApi ,
446
467
{ } ,
447
- )
468
+ ) )
469
+
470
+ if ( ! hasBodyAndHeaders ( request ) ) {
471
+ expect . fail ( 'Expected request to have body and headers' )
472
+ }
448
473
449
474
expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
450
475
expect ( request . body ) . toEqual ( { items : { } } ) // Set is not properly marshalled by default
@@ -457,15 +482,19 @@ describe('fetchBaseQuery', () => {
457
482
value instanceof Set ? [ ...value ] : value ,
458
483
} )
459
484
460
- const { data : request } = await baseQueryWithReplacer (
485
+ ; ( { data : request } = await baseQueryWithReplacer (
461
486
{
462
487
url : '/echo' ,
463
488
body,
464
489
method : 'POST' ,
465
490
} ,
466
491
commonBaseQueryApi ,
467
492
{ } ,
468
- )
493
+ ) )
494
+
495
+ if ( ! hasBodyAndHeaders ( request ) ) {
496
+ expect . fail ( 'Expected request to have body and headers' )
497
+ }
469
498
470
499
expect ( request . headers [ 'content-type' ] ) . toBe ( 'application/json' )
471
500
expect ( request . body ) . toEqual ( { items : [ 'A' , 'B' , 'C' ] } ) // Set is marshalled correctly by jsonReplacer
@@ -480,6 +509,14 @@ describe('fetchBaseQuery', () => {
480
509
{ } ,
481
510
)
482
511
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
+
483
520
expect ( request . url ) . toEqual ( `${ baseUrl } /echo` )
484
521
} )
485
522
@@ -492,6 +529,14 @@ describe('fetchBaseQuery', () => {
492
529
{ } ,
493
530
)
494
531
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
+
495
540
expect ( request . url ) . toEqual ( `${ baseUrl } /echo?a=1&b=true` )
496
541
} )
497
542
@@ -504,6 +549,14 @@ describe('fetchBaseQuery', () => {
504
549
{ } ,
505
550
)
506
551
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
+
507
560
expect ( request . url ) . toEqual ( `${ baseUrl } /echo?banana=pudding&a=1&b=true` )
508
561
} )
509
562
@@ -516,6 +569,14 @@ describe('fetchBaseQuery', () => {
516
569
{ } ,
517
570
)
518
571
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
+
519
580
expect ( request . url ) . toEqual ( `${ baseUrl } /echo?apple=fruit` )
520
581
} )
521
582
@@ -528,6 +589,14 @@ describe('fetchBaseQuery', () => {
528
589
{ } ,
529
590
)
530
591
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
+
531
600
expect ( request . url ) . toEqual ( `${ baseUrl } /echo?apple=fruit&randy=null` )
532
601
} )
533
602
@@ -567,6 +636,14 @@ describe('fetchBaseQuery', () => {
567
636
{ } ,
568
637
)
569
638
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
+
570
647
expect ( request . url ) . toEqual (
571
648
`${ baseUrl } /echo?someArray[]=a&someArray[]=b&someArray[]=c` ,
572
649
)
@@ -598,6 +675,14 @@ describe('fetchBaseQuery', () => {
598
675
{ } ,
599
676
)
600
677
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
+
601
686
expect ( request . body ) . toMatchObject ( testBody )
602
687
} )
603
688
} )
@@ -633,6 +718,14 @@ describe('fetchBaseQuery', () => {
633
718
{ } ,
634
719
)
635
720
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
+
636
729
expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
637
730
expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
638
731
expect ( request . headers [ 'delete2' ] ) . toBe ( defaultHeaders [ 'delete2' ] )
@@ -645,6 +738,14 @@ describe('fetchBaseQuery', () => {
645
738
{ } ,
646
739
)
647
740
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
+
648
749
expect ( request . headers [ 'authorization' ] ) . toBe ( 'Bearer banana' )
649
750
expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
650
751
expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
@@ -664,6 +765,14 @@ describe('fetchBaseQuery', () => {
664
765
{ } ,
665
766
)
666
767
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
+
667
776
expect ( request . headers [ 'authorization' ] ) . toBe ( 'Bearer banana' )
668
777
expect ( request . headers [ 'content-type' ] ) . toBe ( 'custom-content-type' )
669
778
expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
@@ -680,6 +789,14 @@ describe('fetchBaseQuery', () => {
680
789
{ } ,
681
790
)
682
791
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
+
683
800
expect ( request . headers [ 'fake' ] ) . toBe ( fake )
684
801
expect ( request . headers [ 'delete' ] ) . toBeUndefined ( )
685
802
expect ( request . headers [ 'delete2' ] ) . toBeUndefined ( )
@@ -700,6 +817,14 @@ describe('fetchBaseQuery', () => {
700
817
701
818
const { data : request } = await doRequest ( )
702
819
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
+
703
828
expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
704
829
} )
705
830
@@ -720,6 +845,14 @@ describe('fetchBaseQuery', () => {
720
845
721
846
const { data : request } = await doRequest ( )
722
847
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
+
723
856
expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
724
857
} )
725
858
@@ -739,6 +872,14 @@ describe('fetchBaseQuery', () => {
739
872
740
873
const { data : request } = await doRequest ( )
741
874
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
+
742
883
expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
743
884
} )
744
885
@@ -890,6 +1031,14 @@ describe('fetchBaseQuery', () => {
890
1031
891
1032
const { data : request } = await doRequest ( )
892
1033
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
+
893
1042
expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
894
1043
} )
895
1044
@@ -900,6 +1049,14 @@ describe('fetchBaseQuery', () => {
900
1049
{ } ,
901
1050
)
902
1051
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
+
903
1060
expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
904
1061
expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
905
1062
expect ( request . headers [ 'delete2' ] ) . toBe ( defaultHeaders [ 'delete2' ] )
@@ -914,6 +1071,14 @@ describe('fetchBaseQuery', () => {
914
1071
{ } ,
915
1072
)
916
1073
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
+
917
1082
expect ( request . headers [ 'banana' ] ) . toBe ( '1' )
918
1083
expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
919
1084
expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
@@ -929,6 +1094,10 @@ describe('fetchBaseQuery', () => {
929
1094
{ } ,
930
1095
)
931
1096
1097
+ if ( ! hasBodyAndHeaders ( request ) ) {
1098
+ expect . fail ( 'Expected request to have body and headers' )
1099
+ }
1100
+
932
1101
expect ( request . headers [ 'banana' ] ) . toBeUndefined ( )
933
1102
expect ( request . headers [ 'fake' ] ) . toBe ( defaultHeaders [ 'fake' ] )
934
1103
expect ( request . headers [ 'delete' ] ) . toBe ( defaultHeaders [ 'delete' ] )
@@ -1047,6 +1216,14 @@ describe('fetchFn', () => {
1047
1216
{ } ,
1048
1217
)
1049
1218
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
+
1050
1227
expect ( request . url ) . toEqual ( `${ baseUrl } /echo?apple=fruit` )
1051
1228
} )
1052
1229
0 commit comments