75 lines
2.8 KiB
TypeScript
75 lines
2.8 KiB
TypeScript
import ChannelBase from '../channels/channelBase';
|
|
import ClientBase from '../clients/clientBase';
|
|
import MHSClient from '../clients/sites/mhsClient';
|
|
import MHSChannel from '../channels/sites/mhsChannel';
|
|
import ChannelManager from '../channelManager';
|
|
import ClientManager from '../clientManager';
|
|
|
|
var expect = require('chai').expect;
|
|
var sinon = require('sinon');
|
|
|
|
var name: string = 'test channel';
|
|
var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': name }
|
|
var WebSocketClient = require('websocket').client;
|
|
var wsClient = new WebSocketClient();
|
|
var clientManager = new ClientManager();
|
|
var channelManager = new ChannelManager();
|
|
var client: ClientBase = new ClientBase(data, wsClient, channelManager, clientManager);
|
|
|
|
describe('ChannelManager', function () {
|
|
var channel: ChannelBase;
|
|
|
|
it('should create a channel', function () {
|
|
channel = channelManager.createChannel(data);
|
|
expect(channel.id).to.be.equal(name);
|
|
});
|
|
|
|
it('should return existing channel when attempting to create a channel', function () {
|
|
channel = channelManager.createChannel(data);
|
|
expect(channel.id).to.be.equal(name);
|
|
});
|
|
|
|
it('should return a channel when searching if channel exists', function () {
|
|
var exists = channelManager.channelExists(channel.id);
|
|
var result = exists ? true : false;
|
|
expect(result).to.be.equal(true);
|
|
});
|
|
|
|
it('should not return a channel when serachingif channel exists', function () {
|
|
var exists = channelManager.channelExists('no channel');
|
|
var result = exists ? true : false;
|
|
expect(result).to.be.equal(false);
|
|
});
|
|
|
|
it('should add a client to channel', function () {
|
|
var result = channelManager.addClientToChannel(client, channel.id);
|
|
expect(result.status).to.be.equal('success');
|
|
});
|
|
|
|
it('should not add a client to channel', function () {
|
|
var result = channelManager.addClientToChannel(client, 'no channel');
|
|
expect(result.status).to.be.equal('notice');
|
|
});
|
|
|
|
it('should create a channel of type MHSChannel', function () {
|
|
var data2 = { 'channel': 'test channel 2', 'client': 'mhs', 'client_type':'site' };
|
|
var result = channelManager.createByChannelType(data2);
|
|
expect(result.id).to.be.equal('test channel 2');
|
|
});
|
|
|
|
it('should remove client from channel', function () {
|
|
var result = channelManager.removeClientFromChannel(client.id , 'test channel');
|
|
expect(result).to.be.equal(true);
|
|
});
|
|
|
|
it('should be unable to remove a client that doesn\'t exit from channel', function () {
|
|
var result = channelManager.removeClientFromChannel(126 , 'test channel');
|
|
expect(result).to.be.equal(false);
|
|
});
|
|
|
|
it('should be unable to remove a client from a channel that doesn\'t exist', function () {
|
|
var result = channelManager.removeClientFromChannel(client.id , 'test channel 3');
|
|
expect(result).to.be.equal(false);
|
|
});
|
|
});
|