57 lines
2.0 KiB
TypeScript
57 lines
2.0 KiB
TypeScript
import ChannelBase from '../channels/channelBase';
|
|
import ClientBase from '../clients/clientBase';
|
|
import ClientManager from '../clientManager';
|
|
import ChannelManager from '../channelManager';
|
|
|
|
var exec = require('child_process').exec;
|
|
var expect = require('chai').expect;
|
|
var sinon = require('sinon');
|
|
var WebSocketClient = require('websocket').client;
|
|
var app = require('../config/app');
|
|
|
|
var name: string = 'test channel';
|
|
var wsClient = new WebSocketClient();
|
|
var channel: ChannelBase;
|
|
var clientManager = new ClientManager();
|
|
var channelManager = new ChannelManager();
|
|
var data: any = { 'channel_type': 'private', 'client_type':'private', 'user_id': 125, 'user_roles': ['broadcaster', 'receiver'], 'channel': name }
|
|
var client: ClientBase = new ClientBase(data, wsClient, channelManager, clientManager);
|
|
|
|
describe('ChannelBase', function () {
|
|
it('should create a class of ChannelBase', function () {
|
|
channel = new ChannelBase(name);
|
|
expect(channel.id).to.be.equal(name);
|
|
});
|
|
|
|
it('should add a client to channel', function () {
|
|
var result: any = channel.addClient(client);
|
|
expect(result.status).to.be.equal('success');
|
|
});
|
|
|
|
it('should find a client when trying to add said client to channel', function () {
|
|
var result: any = channel.addClient(client);
|
|
expect(result.status).to.be.equal('notice');
|
|
});
|
|
|
|
it('should find a client', function () {
|
|
var exist = channel.clientExists(client.id);
|
|
var result = exist ? true : false;
|
|
expect(result).to.be.equal(true);
|
|
});
|
|
|
|
it('should not broadcast a message to self', function () {
|
|
var result = channel.broadcastMessage(client, 'test message');
|
|
expect(result.status).to.be.equal('success');
|
|
});
|
|
|
|
it('should be able to remove client from channel', function () {
|
|
var result = channel.removeClient(client.id);
|
|
expect(result).to.be.equal(true);
|
|
});
|
|
|
|
it('should not be able to remove client that doesnn\'t exist from channel', function () {
|
|
var result = channel.removeClient(126);
|
|
expect(result).to.be.equal(false);
|
|
});
|
|
});
|