added unit testing, and started implementing unit tests...phew

This commit is contained in:
Josh Burman
2019-03-12 22:28:02 -04:00
parent 74aad4a957
commit e8c2539f1b
3489 changed files with 464813 additions and 88 deletions

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

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

View File

View File

View File

View File