@@ -1989,15 +1989,15 @@ describe('User', function() {
19891989 User . login ( currentEmailCredentials , function ( err , accessToken1 ) {
19901990 if ( err ) return next ( err ) ;
19911991 assert ( accessToken1 . userId ) ;
1992- originalUserToken1 = accessToken1 . id ;
1992+ originalUserToken1 = accessToken1 ;
19931993 next ( ) ;
19941994 } ) ;
19951995 } ,
19961996 function secondLoginWithOriginalEmail ( next ) {
19971997 User . login ( currentEmailCredentials , function ( err , accessToken2 ) {
19981998 if ( err ) return next ( err ) ;
19991999 assert ( accessToken2 . userId ) ;
2000- originalUserToken2 = accessToken2 . id ;
2000+ originalUserToken2 = accessToken2 ;
20012001 next ( ) ;
20022002 } ) ;
20032003 } ,
@@ -2057,7 +2057,7 @@ describe('User', function() {
20572057 it ( 'keeps sessions AS IS if firstName is added using `updateAttributes`' , function ( done ) {
20582058 user . updateAttributes ( { 'firstName' : 'Janny' } , function ( err , userInstance ) {
20592059 if ( err ) return done ( err ) ;
2060- assertUntouchedTokens ( done ) ;
2060+ assertPreservedTokens ( done ) ;
20612061 } ) ;
20622062 } ) ;
20632063
@@ -2068,7 +2068,7 @@ describe('User', function() {
20682068 email : currentEmailCredentials . email ,
20692069 } , function ( err , userInstance ) {
20702070 if ( err ) return done ( err ) ;
2071- assertUntouchedTokens ( done ) ;
2071+ assertPreservedTokens ( done ) ;
20722072 } ) ;
20732073 } ) ;
20742074
@@ -2252,6 +2252,19 @@ describe('User', function() {
22522252 } ) ;
22532253 } ) ;
22542254
2255+ it ( 'preserves current session' , function ( done ) {
2256+ var options = { accessToken : originalUserToken1 } ;
2257+ user . updateAttribute ( 'email' , '[email protected] ' , options , function ( err ) { 2258+ if ( err ) return done ( err ) ;
2259+ AccessToken . find ( { where : { userId : user . id } } , function ( err , tokens ) {
2260+ if ( err ) return done ( err ) ;
2261+ var tokenIds = tokens . map ( function ( t ) { return t . id ; } ) ;
2262+ expect ( tokenIds ) . to . eql ( [ originalUserToken1 . id ] ) ;
2263+ done ( ) ;
2264+ } ) ;
2265+ } ) ;
2266+ } ) ;
2267+
22552268 it ( 'preserves other user sessions if their password is untouched' , function ( done ) {
22562269 var user1 , user2 , user1Token ;
22572270 async . series ( [
@@ -2303,9 +2316,11 @@ describe('User', function() {
23032316 function assertPreservedTokens ( done ) {
23042317 AccessToken . find ( { where : { userId : user . id } } , function ( err , tokens ) {
23052318 if ( err ) return done ( err ) ;
2306- expect ( tokens . length ) . to . equal ( 2 ) ;
2307- expect ( [ tokens [ 0 ] . id , tokens [ 1 ] . id ] ) . to . have . members ( [ originalUserToken1 ,
2308- originalUserToken2 ] ) ;
2319+ var actualIds = tokens . map ( function ( t ) { return t . id ; } ) ;
2320+ actualIds . sort ( ) ;
2321+ var expectedIds = [ originalUserToken1 . id , originalUserToken2 . id ] ;
2322+ expectedIds . sort ( ) ;
2323+ expect ( actualIds ) . to . eql ( expectedIds ) ;
23092324 done ( ) ;
23102325 } ) ;
23112326 }
@@ -2317,14 +2332,6 @@ describe('User', function() {
23172332 done ( ) ;
23182333 } ) ;
23192334 }
2320-
2321- function assertUntouchedTokens ( done ) {
2322- AccessToken . find ( { where : { userId : user . id } } , function ( err , tokens ) {
2323- if ( err ) return done ( err ) ;
2324- expect ( tokens . length ) . to . equal ( 2 ) ;
2325- done ( ) ;
2326- } ) ;
2327- }
23282335 } ) ;
23292336
23302337 describe ( 'Verification after updating email' , function ( ) {
0 commit comments