@@ -235,8 +235,7 @@ describe("CookieTokenSource", () => {
235235 ] ) ;
236236 } ) ;
237237
238- // Test for setting the refresh token for authenticated users
239- it ( "should set the refresh token for authenticated users" , ( ) => {
238+ it ( "should set the refresh token with default Expires for authenticated users" , ( ) => {
240239 const request : Request = new Request ( "http://localhost" ) ;
241240 const response : Response = new Response ( ) ;
242241
@@ -248,18 +247,82 @@ describe("CookieTokenSource", () => {
248247
249248 cookieTokenSource . setRefreshToken ( request , response , "FOOBAR" , true ) ;
250249
250+ const expectedExpires = new Date ( Date . now ( ) + 60 * 60 * 24 * 365 * 1000 ) ;
251+
252+ const cookies = getCookies ( response ) ;
253+ expect ( cookies ) . toEqual ( [
254+ {
255+ refreshToken : "FOOBAR" ,
256+ Path : "/refresh" ,
257+ SameSite : "None" ,
258+ Expires : expectedExpires . toUTCString ( ) ,
259+ } ,
260+ {
261+ userRefreshTokenExists : "1" ,
262+ SameSite : "None" ,
263+ Expires : expectedExpires . toUTCString ( ) ,
264+ } ,
265+ ] ) ;
266+ } ) ;
267+
268+ it ( "should set the refresh token with custom Expires for authenticated users" , ( ) => {
269+ const request : Request = new Request ( "http://localhost" ) ;
270+ const response : Response = new Response ( ) ;
271+
272+ const cookieTokenSource = new TestCookieTokenSource ( {
273+ secure : true ,
274+ sameSite : "none" ,
275+ refreshTokenPath : "/refresh" ,
276+ refreshToken : {
277+ expiresIn : 60 ,
278+ } ,
279+ } ) ;
280+
281+ const expectedExpires = new Date ( Date . now ( ) + 60 * 1000 ) ;
282+
283+ cookieTokenSource . setRefreshToken ( request , response , "FOOBAR" , true ) ;
284+
285+ const cookies = getCookies ( response ) ;
286+ expect ( cookies ) . toEqual ( [
287+ {
288+ refreshToken : "FOOBAR" ,
289+ Path : "/refresh" ,
290+ SameSite : "None" ,
291+ Expires : expectedExpires . toUTCString ( ) ,
292+ } ,
293+ {
294+ userRefreshTokenExists : "1" ,
295+ SameSite : "None" ,
296+ Expires : expectedExpires . toUTCString ( ) ,
297+ } ,
298+ ] ) ;
299+ } ) ;
300+
301+ it ( "should set the refresh token with session Expires for authenticated users" , ( ) => {
302+ const request : Request = new Request ( "http://localhost" ) ;
303+ const response : Response = new Response ( ) ;
304+
305+ const cookieTokenSource = new TestCookieTokenSource ( {
306+ secure : true ,
307+ sameSite : "none" ,
308+ refreshTokenPath : "/refresh" ,
309+ refreshToken : {
310+ expiresIn : "session" ,
311+ } ,
312+ } ) ;
313+
314+ cookieTokenSource . setRefreshToken ( request , response , "FOOBAR" , true ) ;
315+
251316 const cookies = getCookies ( response ) ;
252317 expect ( cookies ) . toEqual ( [
253318 {
254319 refreshToken : "FOOBAR" ,
255320 Path : "/refresh" ,
256321 SameSite : "None" ,
257- Expires : expect . any ( String ) ,
258322 } ,
259323 {
260324 userRefreshTokenExists : "1" ,
261325 SameSite : "None" ,
262- Expires : expect . any ( String ) ,
263326 } ,
264327 ] ) ;
265328 } ) ;
0 commit comments