@@ -239,6 +239,85 @@ describe('<Users> Current User', function() {
239
239
expect ( Backendless . UserService . currentUser ) . to . be . equal ( user )
240
240
} )
241
241
242
+ it ( 'should keep current user token after hard user reload' , async ( ) => {
243
+ const objectId = Utils . objectId ( )
244
+ const userToken = Utils . uid ( )
245
+
246
+ const req1 = prepareMockRequest ( { ...getTestUserObject ( ) , objectId, 'user-token' : userToken } )
247
+
248
+ const user1 = await Backendless . UserService . login ( '[email protected] ' , '123456' )
249
+
250
+ expect ( req1 ) . to . deep . include ( {
251
+ method : 'POST' ,
252
+ path : `${ APP_PATH } /users/login` ,
253
+ headers : { 'Content-Type' : 'application/json' } ,
254
+ } )
255
+
256
+ expect ( user1 ) . to . deep . equal ( {
257
+ ___class : 'Users' ,
258
+
259
+ name : 'Bob Miller' ,
260
+ objectId,
261
+ password : '123456' ,
262
+ 'user-token' : userToken ,
263
+ } )
264
+
265
+ const user2 = await Backendless . UserService . getCurrentUser ( )
266
+
267
+ expect ( user2 ) . to . deep . equal ( {
268
+ ___class : 'Users' ,
269
+
270
+ name : 'Bob Miller' ,
271
+ objectId,
272
+ password : '123456' ,
273
+ 'user-token' : userToken ,
274
+ } )
275
+
276
+ const req2 = prepareMockRequest ( true )
277
+ const isLoginValid1 = await Backendless . UserService . isValidLogin ( )
278
+
279
+ expect ( req2 ) . to . deep . include ( {
280
+ method : 'GET' ,
281
+ path : `${ APP_PATH } /users/isvalidusertoken/${ userToken } ` ,
282
+ headers : { 'user-token' : userToken } ,
283
+ } )
284
+
285
+ expect ( isLoginValid1 ) . to . be . equal ( true )
286
+
287
+ const currentUserRes = { ...user1 }
288
+ delete currentUserRes [ 'user-token' ]
289
+
290
+ const req3 = prepareMockRequest ( currentUserRes )
291
+
292
+ const user3 = await Backendless . UserService . getCurrentUser ( true )
293
+
294
+ expect ( req3 ) . to . deep . include ( {
295
+ method : 'GET' ,
296
+ path : `${ APP_PATH } /data/Users/${ objectId } ` ,
297
+ headers : { 'user-token' : userToken } ,
298
+ } )
299
+
300
+ expect ( user3 ) . to . deep . equal ( {
301
+ ___class : 'Users' ,
302
+
303
+ name : 'Bob Miller' ,
304
+ objectId,
305
+ password : '123456' ,
306
+ 'user-token' : userToken ,
307
+ } )
308
+
309
+ const req4 = prepareMockRequest ( true )
310
+ const isLoginValid2 = await Backendless . UserService . isValidLogin ( )
311
+
312
+ expect ( req4 ) . to . deep . include ( {
313
+ method : 'GET' ,
314
+ path : `${ APP_PATH } /users/isvalidusertoken/${ userToken } ` ,
315
+ headers : { 'user-token' : userToken } ,
316
+ } )
317
+
318
+ expect ( isLoginValid2 ) . to . be . equal ( true )
319
+ } )
320
+
242
321
describe ( 'User Token' , ( ) => {
243
322
it ( 'should get current user token' , async ( ) => {
244
323
const token1 = 'test-1'
0 commit comments