From a31baa4ebd9c5f9d712df614f37659c5edb1555d Mon Sep 17 00:00:00 2001 From: Florent Vilmart Date: Sun, 20 Mar 2016 13:44:51 -0400 Subject: [PATCH] differentiate signup and login createdWith.action on _Session --- spec/ParseUser.spec.js | 30 +++++++++++++++++++++++++++++- src/RestWrite.js | 2 +- 2 files changed, 30 insertions(+), 2 deletions(-) diff --git a/spec/ParseUser.spec.js b/spec/ParseUser.spec.js index 0e2b903d..ccfdb4b3 100644 --- a/spec/ParseUser.spec.js +++ b/spec/ParseUser.spec.js @@ -1768,9 +1768,37 @@ describe('Parse.User testing', () => { }); }); - it('user get session from token', (done) => { + it('user get session from token on signup', (done) => { Parse.Promise.as().then(() => { return Parse.User.signUp("finn", "human", { foo: "bar" }); + }).then((user) => { + request.get({ + headers: { + 'X-Parse-Application-Id': 'test', + 'X-Parse-Session-Token': user.getSessionToken(), + 'X-Parse-REST-API-Key': 'rest' + }, + url: 'http://localhost:8378/1/sessions/me', + }, (error, response, body) => { + expect(error).toBe(null); + var b = JSON.parse(body); + expect(typeof b.sessionToken).toEqual('string'); + expect(typeof b.createdWith).toEqual('object'); + expect(b.createdWith.action).toEqual('signup'); + expect(typeof b.user).toEqual('object'); + expect(b.user.objectId).toEqual(user.id); + done(); + }); + }); + }); + + it('user get session from token on login', (done) => { + Parse.Promise.as().then(() => { + return Parse.User.signUp("finn", "human", { foo: "bar" }); + }).then((user) => { + return Parse.User.logOut().then(() => { + return Parse.User.logIn("finn", "human"); + }) }).then((user) => { request.get({ headers: { diff --git a/src/RestWrite.js b/src/RestWrite.js index fa835d39..c32a3707 100644 --- a/src/RestWrite.js +++ b/src/RestWrite.js @@ -327,7 +327,7 @@ RestWrite.prototype.transformUser = function() { objectId: this.objectId() }, createdWith: { - 'action': 'login', + 'action': 'signup', 'authProvider': this.storage['authProvider'] || 'password' }, restricted: false,