У меня есть тест, который проверяет, правильно ли излучается событие joined
, когда пользователи подписываются на номер. Тем не менее, я хочу написать тест, чтобы убедиться, когда chatUser2
присоединяется room2
, что joined
событие только получил от нее и не client1
в room1
Испытание для проверки вещания номера
Как бы я написать тест, чтобы убедиться, что client1.on('joined')
не вызывается, когда client2
соединяется?
var should = require('should'),
io = require('socket.io-client'),
path = require('path'),
express = require(path.resolve('./config/lib/express')),
mongoose = require('mongoose'),
sinon = require('sinon'),
app, agent, credentials, user, sale;
var chatUser1 = {'name':'Tom', 'room':'room1'};
var chatUser2 = {'name':'Sally', 'room':'room2'};
describe("Socket Server",function(){
it('Should not broadcast joined event to unsubscribed rooms', function(done){
var client1 = io.connect(socketURL, options);
client1.on('connect', function(data){
client1.emit('subscribe', chatUser1);
client1.on('joined', function(data){
data.should.equal(chatUser1.name + " has joined "+chatUser1.room);
});
var client2 = io.connect(socketURL, options);
client2.on('connect', function(data){
client2.emit('subscribe', chatUser2);
});
client2.on('joined', function(data){
data.should.equal(chatUser2.name + " has joined "+chatUser2.room);
client1.disconnect();
client2.disconnect();
done();
});
});
});
});