Files
kami-parse-server/spec/ParseWebSocketServer.spec.js
wangmengyan95 555e25bf33 Add LiveQuery
2016-03-18 12:32:31 -07:00

38 lines
1.0 KiB
JavaScript

var ParseWebSocketServer = require('../src/LiveQuery/ParseWebSocketServer').ParseWebSocketServer;
describe('ParseWebSocketServer', function() {
beforeEach(function(done) {
// Mock ws server
var EventEmitter = require('events');
var mockServer = function() {
return new EventEmitter();
};
jasmine.mockLibrary('ws', 'Server', mockServer);
done();
});
it('can handle connect event when ws is open', function(done) {
var onConnectCallback = jasmine.createSpy('onConnectCallback');
var parseWebSocketServer = new ParseWebSocketServer({}, onConnectCallback, 5).server;
var ws = {
readyState: 0,
OPEN: 0,
ping: jasmine.createSpy('ping')
};
parseWebSocketServer.emit('connection', ws);
// Make sure callback is called
expect(onConnectCallback).toHaveBeenCalled();
// Make sure we ping to the client
setTimeout(function() {
expect(ws.ping).toHaveBeenCalled();
done();
}, 10)
});
afterEach(function(){
jasmine.restoreLibrary('ws', 'Server');
});
});