Skip to content

Commit 3af83ea

Browse files
kzmeyaodplewis
authored andcommitted
fix become for subclass (#897)
1 parent 862c2f5 commit 3af83ea

File tree

2 files changed

+14
-3
lines changed

2 files changed

+14
-3
lines changed

integration/test/ParseUserTest.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,17 @@ describe('Parse User', () => {
658658
expect(user.doSomething()).toBe(5);
659659
});
660660

661+
it('can become user with subclass static', async () => {
662+
Parse.User.enableUnsafeCurrentUser();
663+
664+
let user = await CustomUser.signUp('username', 'password');
665+
const token = user.getSessionToken();
666+
667+
user = await CustomUser.become(token)
668+
expect(user instanceof CustomUser).toBe(true);
669+
expect(user.doSomething()).toBe(5);
670+
});
671+
661672
it('can link without master key', async () => {
662673
Parse.User.enableUnsafeCurrentUser();
663674

src/ParseUser.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,8 @@ class ParseUser extends ParseObject {
649649
}
650650

651651
const controller = CoreManager.getUserController();
652-
return controller.become(becomeOptions);
652+
const user = new this();
653+
return controller.become(user, becomeOptions);
653654
}
654655

655656
/**
@@ -990,8 +991,7 @@ const DefaultController = {
990991
});
991992
},
992993

993-
become(options: RequestOptions): Promise<ParseUser> {
994-
const user = new ParseUser();
994+
become(user: ParseUser, options: RequestOptions): Promise<ParseUser> {
995995
const RESTController = CoreManager.getRESTController();
996996
return RESTController.request(
997997
'GET', 'users/me', {}, options

0 commit comments

Comments
 (0)