@@ -657,6 +657,26 @@ describe('fetchBaseQuery', () => {
657657 expect ( request . headers [ 'delete2' ] ) . toBeUndefined ( )
658658 } )
659659
660+ test ( 'prepareHeaders can return undefined' , async ( ) => {
661+ let request : any
662+
663+ const token = 'accessToken'
664+
665+ const _baseQuery = fetchBaseQuery ( {
666+ baseUrl,
667+ prepareHeaders : ( headers ) => {
668+ headers . set ( 'authorization' , `Bearer ${ token } ` )
669+ } ,
670+ } )
671+
672+ const doRequest = async ( ) =>
673+ _baseQuery ( { url : '/echo' } , commonBaseQueryApi , { } )
674+
675+ ; ( { data : request } = await doRequest ( ) )
676+
677+ expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
678+ } )
679+
660680 test ( 'prepareHeaders is able to be an async function' , async ( ) => {
661681 let request : any
662682
@@ -679,6 +699,27 @@ describe('fetchBaseQuery', () => {
679699 expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
680700 } )
681701
702+ test ( 'prepareHeaders is able to be an async function returning undefined' , async ( ) => {
703+ let request : any
704+
705+ const token = 'accessToken'
706+ const getAccessTokenAsync = async ( ) => token
707+
708+ const _baseQuery = fetchBaseQuery ( {
709+ baseUrl,
710+ prepareHeaders : async ( headers ) => {
711+ headers . set ( 'authorization' , `Bearer ${ await getAccessTokenAsync ( ) } ` )
712+ } ,
713+ } )
714+
715+ const doRequest = async ( ) =>
716+ _baseQuery ( { url : '/echo' } , commonBaseQueryApi , { } )
717+
718+ ; ( { data : request } = await doRequest ( ) )
719+
720+ expect ( request . headers [ 'authorization' ] ) . toBe ( `Bearer ${ token } ` )
721+ } )
722+
682723 test ( 'prepareHeaders is able to select from a state' , async ( ) => {
683724 let request : any
684725
0 commit comments