it('is correctly instantiated', function(done) { var client = vapor(); var EventEmitter = require('events').EventEmitter; expect(client).to.have.ownProperty('servers'); expect(client).to.be.instanceof(EventEmitter); return done(); });
it('init and use methods are chainable', function(done) { var client = vapor(); client .init({username: 'a', password: 'b'}) .use({ name: 'plugin A', plugin: function() {} }) .use({ name: 'plugin B', plugin: function() {} }); expect(client).to.have.ownProperty('servers'); expect(client._loadedPlugins).to.have.length(2); expect(client._loadedPlugins).to.be.deep.equal(['plugin A', 'plugin B']); return done(); });
describe('Analyzer', function() { it('adds the priority in upper case of the items to its token map', function() { const analyzer = new Analyzer(); const item = { priority: 'high' }; analyzer.analyseActionItem(item); expect(analyzer.tokens).to.have.ownProperty('HIGH'); }); it('increments the token counter if a second element with the same priority is added (case-insensitive)', function () { const analyzer = new Analyzer(); const item_1 = { priority: 'high' }; const item_2 = { priority: 'HIGH' }; analyzer.analyseActionItem(item_1); analyzer.analyseActionItem(item_2); expect(analyzer.tokens['HIGH'].counter).to.equal(2) }); });
it('should be able to change a room history limit', function (done) { const sz = 100 chatService = startService() chatService.addRoom(roomName1, null, () => { chatService.changeRoomHistoryMaxSize(roomName1, sz, (error, data) => { expect(error).not.ok expect(data).not.ok socket1 = clientConnect(user1) socket1.on('loginConfirmed', () => { socket1.emit('roomJoin', roomName1, () => { socket1.emit('roomHistoryInfo', roomName1, (error, data) => { expect(error).not.ok expect(data).ownProperty('historyMaxSize') expect(data.historyMaxSize).equal(sz) done() }) }) }) }) }) })
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", "foorsa"); expect(header).to.ownProperty("enc", enc); });
it('should send and update a room sync info', function (done) { const txt = 'Test message.' const message = { textMessage: txt } chatService = startService() chatService.addRoom(roomName1, null, () => { socket1 = clientConnect(user1) socket1.on('loginConfirmed', () => { socket1.emit('roomJoin', roomName1, () => { socket1.emit('roomHistoryInfo', roomName1, (error, data) => { expect(error).not.ok expect(data).ownProperty('historyMaxGetMessages') expect(data).ownProperty('historyMaxSize') expect(data).ownProperty('historySize') expect(data).ownProperty('lastMessageId') expect(data.lastMessageId).equal(0) expect(data.historySize).equal(0) socket1.emit('roomMessage', roomName1, message, () => { socket1.emit('roomHistoryInfo', roomName1, (error, data) => { expect(error).not.ok expect(data.lastMessageId).equal(1) expect(data.historySize).equal(1) done() }) }) }) }) }) }) })
it('should be able to bypass room messaging permissions', function (done) { const txt = 'Test message.' const message = { textMessage: txt } chatService = startService() chatService.addRoom( roomName1, { whitelistOnly: true, whitelist: [user1] }, () => { chatService.addUser(user2, null, () => { socket1 = clientConnect(user1) socket1.on('loginConfirmed', () => { socket1.emit('roomJoin', roomName1, () => { chatService.execUserCommand( { userName: user2, bypassPermissions: true }, 'roomMessage', roomName1, message) socket1.on('roomMessage', (room, msg) => { expect(room).equal(roomName1) expect(msg.author).equal(user2) expect(msg.textMessage).equal(txt) expect(msg).ownProperty('timestamp') expect(msg).ownProperty('id') done() }) }) }) }) }) })
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", key); expect(header).to.ownProperty("enc", enc); });
it('should be able to send room messages without an user', function (done) { const txt = 'Test message.' const message = { textMessage: txt } chatService = startService() chatService.addRoom(roomName1, null, () => { socket1 = clientConnect(user1) socket1.on('loginConfirmed', () => { socket1.emit('roomJoin', roomName1, () => { chatService.execUserCommand( true, 'roomMessage', roomName1, message, (error, data) => expect(error).not.ok) socket1.on('roomMessage', (room, msg) => { expect(room).equal(roomName1) expect(room).equal(roomName1) expect(msg.author).undefined expect(msg.textMessage).equal(txt) expect(msg).ownProperty('timestamp') expect(msg).ownProperty('id') done() }) }) }) }) })
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", key); expect(header).to.ownProperty("enc", enc); });
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", key); expect(header).to.ownProperty("enc", enc); });
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", "foorsa"); expect(header).to.ownProperty("enc", enc); });
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", "foorsa"); expect(header).to.ownProperty("enc", enc); });
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", "foorsa"); expect(header).to.ownProperty("enc", "A128CBC-HS256"); });
expect(header).to.ownProperty("cty", "JWT"); expect(header).to.ownProperty("alg", alg); expect(header).to.ownProperty("kid", "foorsa"); expect(header).to.ownProperty("enc", "A128CBC-HS256"); });