Skip to content

Commit a5e7dfb

Browse files
committed
Rewrite failing test with async/await
1 parent fb0e9bc commit a5e7dfb

File tree

1 file changed

+42
-55
lines changed

1 file changed

+42
-55
lines changed

src/__tests__/ParseUser-test.js

+42-55
Original file line numberDiff line numberDiff line change
@@ -940,72 +940,59 @@ describe('ParseUser', () => {
940940
});
941941
});
942942

943-
it('user who logs out, deletes attribute, then logs back in has correct attributes', done => {
943+
it('user who logs out, deletes attribute, then logs back in has correct attributes', async () => {
944944
ParseUser.enableUnsafeCurrentUser();
945945
ParseUser._clearCache();
946946
CoreManager.setRESTController({
947-
request(method, path) {
947+
async request(method, path) {
948948
expect(path).toBe('login');
949+
return {
950+
objectId: 'uid2',
951+
username: 'username',
952+
sessionToken: '123abc',
953+
fieldToBeDeleted: 'This field is returned in the first login but not the second',
954+
};
955+
},
956+
ajax() {},
957+
});
949958

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+
const user1 = await ParseUser.logIn('username', 'password');
960+
expect(user1.isCurrent()).toBe(true);
961+
expect(user1.id).toBe('uid2');
962+
expect(user1.get('username')).toBe('username');
963+
expect(user1.get('fieldToBeDeleted')).toBe(
964+
'This field is returned in the first login but not the second'
965+
);
966+
967+
CoreManager.setRESTController({
968+
async request() {
969+
return {};
959970
},
960971
ajax() {},
961972
});
962973

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');
974+
await ParseUser.logOut();
975+
expect(ParseUser.current()).toBe(null);
986976

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
977+
CoreManager.setRESTController({
978+
async request(method, path) {
979+
expect(path).toBe('login');
1006980

1007-
done();
1008-
});
981+
return {
982+
objectId: 'uid2',
983+
username: 'username',
984+
sessionToken: '123abc',
985+
// We assume fieldToBeDeleted was deleted while user was logged out
986+
};
987+
},
988+
ajax() {},
989+
});
990+
991+
const user2 = await ParseUser.logIn('username', 'password');
992+
expect(user2.isCurrent()).toBe(true);
993+
expect(user2.id).toBe('uid2');
994+
expect(user2.get('username')).toBe('username');
995+
expect(user2.get('fieldToBeDeleted')).toBe(undefined); // Failing test
1009996
});
1010997

1011998
it('can retreive a user with sessionToken (me)', async () => {

0 commit comments

Comments
 (0)