added unit testing, and started implementing unit tests...phew
This commit is contained in:
47
src/test/channelBase.spec.ts
Normal file
47
src/test/channelBase.spec.ts
Normal file
@ -0,0 +1,47 @@
|
||||
import ChannelBase from '../channels/channelBase';
|
||||
import ClientBase from '../clients/clientBase';
|
||||
|
||||
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 channel: ChannelBase;
|
||||
var wsLink: string = `wss://${app.hostname}:${app.port}`;
|
||||
var wsClient = new WebSocketClient();
|
||||
var data: any = { 'client': 'test', 'client_type':'site', 'user_id': 125, 'user_type': 'user', 'channel': name }
|
||||
var client: ClientBase = new ClientBase(data, wsClient);
|
||||
|
||||
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 broadcase a message to self', function () {
|
||||
// var wstClient = new WebSocketClient(wsLink);
|
||||
// var teacher_data: any = { 'client': 'test', 'client_type':'site', 'user_id': 126, 'user_type': 'teacher', 'channel': name }
|
||||
// var teacher: ClientBase = new ClientBase(teacher_data, wstClient);
|
||||
// channel.addClient(client);
|
||||
// channel.addClient(teacher);
|
||||
var result = channel.broadcastMessage(client, 'test message');
|
||||
expect(result.status).to.be.equal('success');
|
||||
});
|
||||
});
|
58
src/test/channelManager.spec.ts
Normal file
58
src/test/channelManager.spec.ts
Normal file
@ -0,0 +1,58 @@
|
||||
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';
|
||||
|
||||
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 client: ClientBase = new ClientBase(data, wsClient);
|
||||
|
||||
let channelManager = new ChannelManager();
|
||||
|
||||
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');
|
||||
});
|
||||
});
|
0
src/test/clientBase.spec.ts
Normal file
0
src/test/clientBase.spec.ts
Normal file
0
src/test/clientManager.spec.ts
Normal file
0
src/test/clientManager.spec.ts
Normal file
0
src/test/mhsChannel.spec.ts
Normal file
0
src/test/mhsChannel.spec.ts
Normal file
0
src/test/mhsClient.spec.ts
Normal file
0
src/test/mhsClient.spec.ts
Normal file
Reference in New Issue
Block a user