From 5d37755d88e50a543be0504df90b60940f5416df Mon Sep 17 00:00:00 2001 From: Drew Date: Wed, 20 Apr 2016 00:31:15 -0700 Subject: [PATCH] Test facebook unlinking (regression test #1532) (#1538) --- spec/ParseUser.spec.js | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/spec/ParseUser.spec.js b/spec/ParseUser.spec.js index 9523f20d..4df8f401 100644 --- a/spec/ParseUser.spec.js +++ b/spec/ParseUser.spec.js @@ -2273,4 +2273,36 @@ describe('Parse.User testing', () => { }); }); + it('should not overwrite username when unlinking facebook user (regression test for #1532)', done => { + Parse.Object.disableSingleInstance(); + var provider = getMockFacebookProvider(); + Parse.User._registerAuthenticationProvider(provider); + var user = new Parse.User(); + user.set("username", "testLinkWithProvider"); + user.set("password", "mypass"); + user.signUp() + .then(user => user._linkWith("facebook", { + success: user => { + expect(user.get('username')).toEqual('testLinkWithProvider'); + expect(Parse.FacebookUtils.isLinked(user)).toBeTruthy(); + return user._unlinkFrom('facebook') + .then(() => user.fetch()) + .then(user => { + expect(user.get('username')).toEqual('testLinkWithProvider'); + expect(Parse.FacebookUtils.isLinked(user)).toBeFalsy(); + done(); + }); + }, + error: e => { + fail('Unexpected failure testing linking'); + fail(error); + done(); + } + })) + .catch(error => { + fail('Unexpected failure testing in unlink user test'); + fail(error); + done(); + }); + }); });