Skip to content

Commit fb0e9bc

Browse files
committed
Failing ParseUser test for parse-community#1347
1 parent d084ac9 commit fb0e9bc

File tree

1 file changed

+68
-0
lines changed

1 file changed

+68
-0
lines changed

src/__tests__/ParseUser-test.js

Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -940,6 +940,74 @@ describe('ParseUser', () => {
940940
});
941941
});
942942

943+
it('user who logs out, deletes attribute, then logs back in has correct attributes', done => {
944+
ParseUser.enableUnsafeCurrentUser();
945+
ParseUser._clearCache();
946+
CoreManager.setRESTController({
947+
request(method, path) {
948+
expect(path).toBe('login');
949+
950+
return Promise.resolve(
951+
{
952+
objectId: 'uid2',
953+
username: 'username',
954+
sessionToken: '123abc',
955+
fieldToBeDeleted: 'This field is returned in the first login but not the second',
956+
},
957+
200
958+
);
959+
},
960+
ajax() {},
961+
});
962+
963+
ParseUser.logIn('username', 'password')
964+
.then(u => {
965+
expect(u.isCurrent()).toBe(true);
966+
expect(u.id).toBe('uid2');
967+
expect(u.get('username')).toBe('username');
968+
expect(u.get('fieldToBeDeleted')).toBe(
969+
'This field is returned in the first login but not the second'
970+
);
971+
CoreManager.setRESTController({
972+
request() {
973+
return Promise.resolve({}, 200);
974+
},
975+
ajax() {},
976+
});
977+
return ParseUser.logOut();
978+
})
979+
.then(() => {
980+
expect(ParseUser.current()).toBe(null);
981+
})
982+
.then(() => {
983+
CoreManager.setRESTController({
984+
request(method, path) {
985+
expect(path).toBe('login');
986+
987+
return Promise.resolve(
988+
{
989+
objectId: 'uid2',
990+
username: 'username',
991+
sessionToken: '123abc',
992+
// We assume fieldToBeDeleted was deleted while user was logged out
993+
},
994+
200
995+
);
996+
},
997+
ajax() {},
998+
});
999+
return ParseUser.logIn('username', 'password');
1000+
})
1001+
.then(u => {
1002+
expect(u.isCurrent()).toBe(true);
1003+
expect(u.id).toBe('uid2');
1004+
expect(u.get('username')).toBe('username');
1005+
expect(u.get('fieldToBeDeleted')).toBe(undefined); // Failing test
1006+
1007+
done();
1008+
});
1009+
});
1010+
9431011
it('can retreive a user with sessionToken (me)', async () => {
9441012
ParseUser.disableUnsafeCurrentUser();
9451013
ParseUser._clearCache();

0 commit comments

Comments
 (0)