Skip to content

Commit d7d5ae5

Browse files
authored
test: Fix flaky LiveQuery tests caused by session token leak (#10415)
1 parent 7d4a460 commit d7d5ae5

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

spec/ParseLiveQuery.spec.js

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -916,7 +916,7 @@ describe('ParseLiveQuery', function () {
916916
]);
917917
});
918918

919-
it('liveQuery on Session class', async done => {
919+
it('liveQuery on Session class', async () => {
920920
await reconfigureServer({
921921
liveQuery: { classNames: [Parse.Session] },
922922
startLiveQueryServer: true,
@@ -932,17 +932,19 @@ describe('ParseLiveQuery', function () {
932932
const query = new Parse.Query(Parse.Session);
933933
const subscription = await query.subscribe();
934934

935-
subscription.on('create', async obj => {
936-
expect(obj.get('user').id).toBe(user.id);
937-
expect(obj.get('createdWith')).toEqual({ action: 'login', authProvider: 'password' });
938-
expect(obj.get('expiresAt')).toBeInstanceOf(Date);
939-
expect(obj.get('installationId')).toBeDefined();
940-
expect(obj.get('createdAt')).toBeInstanceOf(Date);
941-
expect(obj.get('updatedAt')).toBeInstanceOf(Date);
942-
done();
935+
const createEvent = new Promise(resolve => {
936+
subscription.on('create', resolve);
943937
});
944938

945939
await Parse.User.logIn('username', 'password');
940+
941+
const obj = await createEvent;
942+
expect(obj.get('user').id).toBe(user.id);
943+
expect(obj.get('createdWith')).toEqual({ action: 'login', authProvider: 'password' });
944+
expect(obj.get('expiresAt')).toBeInstanceOf(Date);
945+
expect(obj.get('installationId')).toBeDefined();
946+
expect(obj.get('createdAt')).toBeInstanceOf(Date);
947+
expect(obj.get('updatedAt')).toBeInstanceOf(Date);
946948
});
947949

948950
it('prevent liveQuery on Session class when not logged in', async () => {

0 commit comments

Comments
 (0)