@@ -340,14 +340,41 @@ describe('Accounts', () => {
340
340
}
341
341
} ) ;
342
342
343
+ it ( 'should do nothing if tokens are still valid' , async ( ) => {
344
+ Accounts . config ( { } , mockTransport ) ;
345
+ const accessToken = jwt . sign ( { data : 'oldRefreshToken' } , 'secret' , {
346
+ expiresIn : 10 ,
347
+ } ) ;
348
+ const refreshToken = jwt . sign ( { data : 'oldRefreshToken' } , 'secret' , {
349
+ expiresIn : '1d' ,
350
+ } ) ;
351
+ const oldTokens = {
352
+ accessToken,
353
+ refreshToken,
354
+ } ;
355
+ Accounts . instance . storeTokens ( oldTokens ) ;
356
+ // tslint:disable-next-line no-string-literal
357
+ Accounts . instance [ 'store' ] . dispatch ( setTokens ( oldTokens ) ) ;
358
+ await Accounts . refreshSession ( ) ;
359
+ expect ( localStorage . getItem ( 'accounts:accessToken' ) ) . toEqual ( accessToken ) ;
360
+ expect ( localStorage . getItem ( 'accounts:refreshToken' ) ) . toEqual (
361
+ refreshToken
362
+ ) ;
363
+ } ) ;
364
+
343
365
it ( 'requests a new token pair, sets the tokens and the user' , async ( ) => {
344
366
Accounts . config ( { } , mockTransport ) ;
367
+ const accessToken = jwt . sign ( { data : 'oldRefreshToken' } , 'secret' , {
368
+ expiresIn : - 10 ,
369
+ } ) ;
370
+ const refreshToken = jwt . sign ( { data : 'oldRefreshToken' } , 'secret' , {
371
+ expiresIn : '1d' ,
372
+ } ) ;
345
373
const oldTokens = {
346
- accessToken : 'oldAccessToken' ,
347
- refreshToken : jwt . sign ( { data : 'oldRefreshToken' } , 'secret' , {
348
- expiresIn : '1d' ,
349
- } ) ,
374
+ accessToken,
375
+ refreshToken,
350
376
} ;
377
+ Accounts . instance . storeTokens ( oldTokens ) ;
351
378
// tslint:disable-next-line no-string-literal
352
379
Accounts . instance [ 'store' ] . dispatch ( setTokens ( oldTokens ) ) ;
353
380
await Accounts . refreshSession ( ) ;
0 commit comments