fix: allow LiveQuery on Parse.Session (#7554)
This commit is contained in:
@@ -708,6 +708,58 @@ describe('ParseLiveQuery', function () {
|
||||
}
|
||||
});
|
||||
|
||||
it('liveQuery on Session class', async done => {
|
||||
await reconfigureServer({
|
||||
liveQuery: { classNames: [Parse.Session] },
|
||||
startLiveQueryServer: true,
|
||||
verbose: false,
|
||||
silent: true,
|
||||
});
|
||||
|
||||
const user = new Parse.User();
|
||||
user.setUsername('username');
|
||||
user.setPassword('password');
|
||||
await user.signUp();
|
||||
|
||||
const query = new Parse.Query(Parse.Session);
|
||||
const subscription = await query.subscribe();
|
||||
|
||||
subscription.on('create', async obj => {
|
||||
await new Promise(resolve => setTimeout(resolve, 200));
|
||||
expect(obj.get('user').id).toBe(user.id);
|
||||
expect(obj.get('createdWith')).toEqual({ action: 'login', authProvider: 'password' });
|
||||
expect(obj.get('expiresAt')).toBeInstanceOf(Date);
|
||||
expect(obj.get('installationId')).toBeDefined();
|
||||
expect(obj.get('createdAt')).toBeInstanceOf(Date);
|
||||
expect(obj.get('updatedAt')).toBeInstanceOf(Date);
|
||||
done();
|
||||
});
|
||||
|
||||
await Parse.User.logIn('username', 'password');
|
||||
});
|
||||
|
||||
it('prevent liveQuery on Session class when not logged in', async done => {
|
||||
await reconfigureServer({
|
||||
liveQuery: {
|
||||
classNames: [Parse.Session],
|
||||
},
|
||||
startLiveQueryServer: true,
|
||||
verbose: false,
|
||||
silent: true,
|
||||
});
|
||||
|
||||
Parse.LiveQuery.on('error', error => {
|
||||
expect(error).toBe('Invalid session token');
|
||||
});
|
||||
const query = new Parse.Query(Parse.Session);
|
||||
const subscription = await query.subscribe();
|
||||
subscription.on('error', error => {
|
||||
Parse.LiveQuery.removeAllListeners('error');
|
||||
expect(error).toBe('Invalid session token');
|
||||
done();
|
||||
});
|
||||
});
|
||||
|
||||
it('handle invalid websocket payload length', async done => {
|
||||
await reconfigureServer({
|
||||
liveQuery: {
|
||||
@@ -754,7 +806,7 @@ describe('ParseLiveQuery', function () {
|
||||
|
||||
await reconfigureServer({
|
||||
liveQuery: {
|
||||
classNames: ['_User'],
|
||||
classNames: [Parse.User],
|
||||
},
|
||||
startLiveQueryServer: true,
|
||||
verbose: false,
|
||||
|
||||
Reference in New Issue
Block a user