Skip to content

Commit 93623c5

Browse files
committed
Adds failing test for #3451 (on multiple logins)
1 parent 932a474 commit 93623c5

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

spec/ParseUser.spec.js

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3453,4 +3453,34 @@ describe('Parse.User testing', () => {
34533453
done();
34543454
});
34553455
});
3456+
3457+
it('does not duplicate session when loggin in multiple times #3451', (done) => {
3458+
const user = new Parse.User();
3459+
user.signUp({
3460+
username: 'yolo',
3461+
password: 'yolo',
3462+
3463+
}).then(() => {
3464+
const promises = [];
3465+
while(promises.length != 5) {
3466+
Parse.User.logIn('yolo', 'yolo')
3467+
promises.push(Parse.User.logIn('yolo', 'yolo').then((res) => {
3468+
// generate a new session token every times
3469+
expect(res.getSessionToken()).not.toBe(user.getSessionToken());
3470+
}));
3471+
}
3472+
return Promise.all(promises);
3473+
}).then(() => {
3474+
// wait because session destruction is not syncrhonous
3475+
return new Promise((resolve) => {
3476+
setTimeout(resolve, 100);
3477+
});
3478+
}).then(() => {
3479+
const query = new Parse.Query('_Session');
3480+
return query.find({ useMasterKey: true });
3481+
}).then((results) => {
3482+
// only one session in the end
3483+
expect(results.length).toBe(1);
3484+
}).then(done, done.fail);
3485+
});
34563486
});

0 commit comments

Comments
 (0)