@@ -330,6 +330,33 @@ describe('callApi', () => {
330330 expect ( options . body ) . toBe ( JSON . stringify ( { amount : '1000' } ) ) ;
331331 } ) ;
332332
333+ test ( 'sends cookie parameters as Cookie header' , async ( ) => {
334+ const api = makeApi ( ) ;
335+ const endpoint = makeEndpoint ( {
336+ parameters : [
337+ { name : 'session' , in : 'cookie' , required : true , secret : false , fixed : 'abc123' } ,
338+ { name : 'tracking' , in : 'cookie' , required : false , secret : false } ,
339+ ] ,
340+ } ) ;
341+
342+ await callApi ( api , endpoint , { tracking : 'xyz' } ) ;
343+
344+ const { options } = fetchCallArguments ( ) ;
345+ expect ( ( options . headers as Record < string , string > ) [ 'Cookie' ] ) . toBe ( 'session=abc123; tracking=xyz' ) ;
346+ } ) ;
347+
348+ test ( 'omits Cookie header when no cookie parameters have values' , async ( ) => {
349+ const api = makeApi ( ) ;
350+ const endpoint = makeEndpoint ( {
351+ parameters : [ { name : 'session' , in : 'cookie' , required : false , secret : false } ] ,
352+ } ) ;
353+
354+ await callApi ( api , endpoint , { } ) ;
355+
356+ const { options } = fetchCallArguments ( ) ;
357+ expect ( ( options . headers as Record < string , string > ) [ 'Cookie' ] ) . toBeUndefined ( ) ;
358+ } ) ;
359+
333360 test ( 'returns null data for empty response body (204 No Content)' , async ( ) => {
334361 fetchMock . mockResolvedValue ( {
335362 text : ( ) => Promise . resolve ( '' ) ,
0 commit comments