braid/src/test/channelBase.spec.ts
2019-12-22 01:24:37 -05:00

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);
});
});