* chore(package): update jasmine to version 3.0.0 Closes #4547 * Fixes failing tests for jasmine 3.0 Starting 3.0, done(something) will fail * Update tests so they dont leverage var, but let and const With jasmine 3.0, the randomization engine was making the test fails because of the scope of `var` * Remove randomizer * Use same adapter for PG tests, drop table to ensure the tests dont side effect
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
const ParseWebSocketServer = require('../src/LiveQuery/ParseWebSocketServer').ParseWebSocketServer;
|
|
|
|
describe('ParseWebSocketServer', function() {
|
|
|
|
beforeEach(function(done) {
|
|
// Mock ws server
|
|
const EventEmitter = require('events');
|
|
const mockServer = function() {
|
|
return new EventEmitter();
|
|
};
|
|
jasmine.mockLibrary('ws', 'Server', mockServer);
|
|
done();
|
|
});
|
|
|
|
it('can handle connect event when ws is open', function(done) {
|
|
const onConnectCallback = jasmine.createSpy('onConnectCallback');
|
|
const http = require('http');
|
|
const server = http.createServer();
|
|
const parseWebSocketServer = new ParseWebSocketServer(server, onConnectCallback, 5).server;
|
|
const 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();
|
|
server.close();
|
|
done();
|
|
}, 10)
|
|
});
|
|
|
|
afterEach(function(){
|
|
jasmine.restoreLibrary('ws', 'Server');
|
|
});
|
|
});
|