From a19a6259b490d7544da3e1c7f82106f88b899418 Mon Sep 17 00:00:00 2001 From: dblythy Date: Mon, 15 Aug 2022 13:45:48 +1000 Subject: [PATCH 1/2] fix: add context to signup --- src/ParseUser.js | 3 +++ src/__tests__/ParseUser-test.js | 24 ++++++++++++++++++++++++ 2 files changed, 27 insertions(+) diff --git a/src/ParseUser.js b/src/ParseUser.js index ac24ab520..a43bd7571 100644 --- a/src/ParseUser.js +++ b/src/ParseUser.js @@ -425,6 +425,9 @@ class ParseUser extends ParseObject { if (options.hasOwnProperty('installationId')) { signupOptions.installationId = options.installationId; } + if (options.hasOwnProperty('context') && typeof options.context === 'object') { + signupOptions.context = options.context; + } const controller = CoreManager.getUserController(); return controller.signUp(this, attrs, signupOptions); diff --git a/src/__tests__/ParseUser-test.js b/src/__tests__/ParseUser-test.js index 8691513a3..ba0fbda75 100644 --- a/src/__tests__/ParseUser-test.js +++ b/src/__tests__/ParseUser-test.js @@ -1681,6 +1681,30 @@ describe('ParseUser', () => { expect(user.existed()).toBe(true); }); + it('can signup with context', async () => { + CoreManager.setRESTController({ + ajax() {}, + request() { + return Promise.resolve( + { + objectId: 'uid3', + username: 'username', + sessionToken: '123abc', + }, + 200 + ); + }, + }); + const controller = CoreManager.getRESTController(); + jest.spyOn(controller, 'request'); + const context = { a: 'a' }; + const user = new ParseUser(); + user.setUsername('name'); + user.setPassword('pass'); + await user.signUp(null, { context }); + expect(controller.request.mock.calls[0][3].context).toEqual(context); + }); + it('can verify user password', async () => { ParseUser.enableUnsafeCurrentUser(); ParseUser._clearCache(); From 96fc3cd22deea1010d903a5c89d17033974d6653 Mon Sep 17 00:00:00 2001 From: dblythy Date: Tue, 16 Aug 2022 09:14:33 +1000 Subject: [PATCH 2/2] Update ParseUser.js --- src/ParseUser.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ParseUser.js b/src/ParseUser.js index a43bd7571..9e2f43d9a 100644 --- a/src/ParseUser.js +++ b/src/ParseUser.js @@ -425,7 +425,10 @@ class ParseUser extends ParseObject { if (options.hasOwnProperty('installationId')) { signupOptions.installationId = options.installationId; } - if (options.hasOwnProperty('context') && typeof options.context === 'object') { + if ( + options.hasOwnProperty('context') && + Object.prototype.toString.call(options.context) === '[object Object]' + ) { signupOptions.context = options.context; }