From 9c5239cf99aa00023e72d040c0017c328aa9bbf7 Mon Sep 17 00:00:00 2001 From: Diamond Lewis Date: Wed, 10 May 2023 11:37:07 -0500 Subject: [PATCH 1/2] test: Improve `ParseUser::become` test --- tests/Parse/ParseUserTest.php | 10 ++++++++++ tests/cloud-code.js | 9 +++++++++ 2 files changed, 19 insertions(+) diff --git a/tests/Parse/ParseUserTest.php b/tests/Parse/ParseUserTest.php index 2e99f912..9b26aa11 100644 --- a/tests/Parse/ParseUserTest.php +++ b/tests/Parse/ParseUserTest.php @@ -328,6 +328,16 @@ public function testBecome() ParseUser::become('garbage_token'); } + public function testBecomeFromCloudCode() + { + $sessionToken = ParseCloud::run('createTestUser', []); + + $user = ParseUser::become($sessionToken); + $this->assertEquals(ParseUser::getCurrentUser(), $user); + $this->assertEquals('harry', $user->get('username')); + $this->assertEquals($user->getSessionToken(), $sessionToken); + } + public function testCannotSingUpAlreadyExistingUser() { $this->testUserSignUp(); diff --git a/tests/cloud-code.js b/tests/cloud-code.js index d83d0ee3..d2fcbd37 100644 --- a/tests/cloud-code.js +++ b/tests/cloud-code.js @@ -7,6 +7,15 @@ Parse.Cloud.define('bar', (request) => { } }); +Parse.Cloud.define('createTestUser', async (request) => { + const user = new Parse.User(); + user.set('username', 'harry'); + user.set('password', 'potter'); + await user.signUp(); + const loggedIn = await Parse.User.logIn('harry', 'potter'); + return loggedIn.getSessionToken(); +}); + Parse.Cloud.define('foo', (request) => { var key1 = request.params.key1; var key2 = request.params.key2; From 9569b52f8d1e0f9ea65fac52e2d8b1ae8b5e8ada Mon Sep 17 00:00:00 2001 From: Diamond Lewis Date: Wed, 10 May 2023 12:00:30 -0500 Subject: [PATCH 2/2] fix namespace --- tests/Parse/ParseUserTest.php | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/Parse/ParseUserTest.php b/tests/Parse/ParseUserTest.php index 9b26aa11..52ee6fa8 100644 --- a/tests/Parse/ParseUserTest.php +++ b/tests/Parse/ParseUserTest.php @@ -2,6 +2,7 @@ namespace Parse\Test; +use Parse\ParseCloud; use Parse\ParseClient; use Parse\ParseObject; use Parse\ParseQuery;