* Adds test to repro the issue * Improved test * Destroy duplicate sessions for User/Installation-id pair - Sessions will also be created with action login instead of signup when using 3rd party auth
This commit is contained in:
@@ -1168,6 +1168,36 @@ describe('Parse.User testing', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('only creates a single session for an installation / user pair (#2885)', done => {
|
||||
Parse.Object.disableSingleInstance();
|
||||
const provider = getMockFacebookProvider();
|
||||
Parse.User._registerAuthenticationProvider(provider);
|
||||
Parse.User.logInWith('facebook', {
|
||||
success: () => {
|
||||
return Parse.User.logInWith('facebook', {
|
||||
success: () => {
|
||||
return Parse.User.logInWith('facebook', {
|
||||
success: (user) => {
|
||||
const sessionToken = user.getSessionToken();
|
||||
const query = new Parse.Query('_Session');
|
||||
return query.find({ useMasterKey: true })
|
||||
.then((results) => {
|
||||
expect(results.length).toBe(1);
|
||||
expect(results[0].get('sessionToken')).toBe(sessionToken);
|
||||
expect(results[0].get('createdWith')).toEqual({
|
||||
action: 'login',
|
||||
authProvider: 'facebook'
|
||||
});
|
||||
done();
|
||||
}).catch(done.fail);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('log in with provider with files', done => {
|
||||
const provider = getMockFacebookProvider();
|
||||
Parse.User._registerAuthenticationProvider(provider);
|
||||
|
||||
Reference in New Issue
Block a user