2018-09-01 13:58:06 -04:00
|
|
|
const ParseWebSocket = require('../lib/LiveQuery/ParseWebSocketServer')
|
|
|
|
|
.ParseWebSocket;
|
2016-03-10 14:27:00 -08:00
|
|
|
|
|
|
|
|
describe('ParseWebSocket', function() {
|
|
|
|
|
it('can be initialized', function() {
|
2018-02-17 09:55:30 -05:00
|
|
|
const ws = {};
|
|
|
|
|
const parseWebSocket = new ParseWebSocket(ws);
|
2016-03-10 14:27:00 -08:00
|
|
|
|
|
|
|
|
expect(parseWebSocket.ws).toBe(ws);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('can handle events defined in typeMap', function() {
|
2018-02-17 09:55:30 -05:00
|
|
|
const ws = {
|
2018-09-01 13:58:06 -04:00
|
|
|
on: jasmine.createSpy('on'),
|
2016-03-10 14:27:00 -08:00
|
|
|
};
|
2018-02-17 09:55:30 -05:00
|
|
|
const callback = {};
|
|
|
|
|
const parseWebSocket = new ParseWebSocket(ws);
|
2016-03-10 14:27:00 -08:00
|
|
|
parseWebSocket.on('disconnect', callback);
|
|
|
|
|
|
|
|
|
|
expect(parseWebSocket.ws.on).toHaveBeenCalledWith('close', callback);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('can handle events which are not defined in typeMap', function() {
|
2018-02-17 09:55:30 -05:00
|
|
|
const ws = {
|
2018-09-01 13:58:06 -04:00
|
|
|
on: jasmine.createSpy('on'),
|
2016-03-10 14:27:00 -08:00
|
|
|
};
|
2018-02-17 09:55:30 -05:00
|
|
|
const callback = {};
|
|
|
|
|
const parseWebSocket = new ParseWebSocket(ws);
|
2016-03-10 14:27:00 -08:00
|
|
|
parseWebSocket.on('open', callback);
|
|
|
|
|
|
|
|
|
|
expect(parseWebSocket.ws.on).toHaveBeenCalledWith('open', callback);
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
it('can send a message', function() {
|
2018-02-17 09:55:30 -05:00
|
|
|
const ws = {
|
2018-09-01 13:58:06 -04:00
|
|
|
send: jasmine.createSpy('send'),
|
2016-03-10 14:27:00 -08:00
|
|
|
};
|
2018-02-17 09:55:30 -05:00
|
|
|
const parseWebSocket = new ParseWebSocket(ws);
|
2018-09-01 13:58:06 -04:00
|
|
|
parseWebSocket.send('message');
|
2016-03-10 14:27:00 -08:00
|
|
|
|
|
|
|
|
expect(parseWebSocket.ws.send).toHaveBeenCalledWith('message');
|
|
|
|
|
});
|
|
|
|
|
});
|