@@ -287,6 +287,45 @@ describe('ParseUser', () => {
287287 } ) ;
288288 } ) ;
289289
290+ it ( 'can hydrate a user with sessionToken in server environment' , async ( ) => {
291+ ParseUser . enableUnsafeCurrentUser ( ) ;
292+ ParseUser . _clearCache ( ) ;
293+ const user = await ParseUser . hydrate ( {
294+ objectId : 'uid3' ,
295+ username : 'username' ,
296+ sessionToken : '123abc' ,
297+ } ) ;
298+ expect ( user . id ) . toBe ( 'uid3' ) ;
299+ expect ( user . isCurrent ( ) ) . toBe ( true ) ;
300+ expect ( user . existed ( ) ) . toBe ( true ) ;
301+ } ) ;
302+
303+ it ( 'can hydrate a user with sessionToken in non server environment' , async ( ) => {
304+ ParseUser . disableUnsafeCurrentUser ( ) ;
305+ ParseUser . _clearCache ( ) ;
306+ const user = await ParseUser . hydrate ( {
307+ objectId : 'uid3' ,
308+ username : 'username' ,
309+ sessionToken : '123abc' ,
310+ } ) ;
311+ expect ( user . id ) . toBe ( 'uid3' ) ;
312+ expect ( user . isCurrent ( ) ) . toBe ( false ) ;
313+ expect ( user . existed ( ) ) . toBe ( true ) ;
314+ } ) ;
315+
316+ it ( 'can hydrate a user without sessionToken' , async ( ) => {
317+ ParseUser . enableUnsafeCurrentUser ( ) ;
318+ ParseUser . _clearCache ( ) ;
319+ await ParseUser . logOut ( ) ;
320+ const user = await ParseUser . hydrate ( {
321+ objectId : 'uid3' ,
322+ username : 'username' ,
323+ } ) ;
324+ expect ( user . id ) . toBe ( 'uid3' ) ;
325+ expect ( user . isCurrent ( ) ) . toBe ( false ) ;
326+ expect ( user . existed ( ) ) . toBe ( true ) ;
327+ } ) ;
328+
290329 it ( 'can send a password reset request' , ( ) => {
291330 CoreManager . setRESTController ( {
292331 request ( method , path , body ) {
0 commit comments