Skip to content

Commit 00af454

Browse files
committed
tests
1 parent 3578340 commit 00af454

File tree

2 files changed

+42
-1
lines changed

2 files changed

+42
-1
lines changed

packages/toolkit/src/query/fetchBaseQuery.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ export type FetchBaseQueryArgs = {
110110
BaseQueryApi,
111111
'getState' | 'extra' | 'endpoint' | 'type' | 'forced'
112112
>
113-
) => MaybePromise<Headers> | void
113+
) => MaybePromise<Headers | void>
114114
fetchFn?: (
115115
input: RequestInfo,
116116
init?: RequestInit | undefined

packages/toolkit/src/query/tests/fetchBaseQuery.test.tsx

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)