Skip to content

Commit

Permalink
- ControllerFactory.js now uses echoHandler to support international …
Browse files Browse the repository at this point in the history
…messages.

- coverage added for ControllerFactory.js
  • Loading branch information
jaysaurus committed Jan 4, 2018
1 parent 1c1592b commit 7709abb
Show file tree
Hide file tree
Showing 26 changed files with 452 additions and 127 deletions.
67 changes: 67 additions & 0 deletions __tests__/ControllerFactory.test.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
jest.mock('../lib/Builder');

const ControllerFactory = require('../lib/ControllerFactory');

describe('ControllerFactory test', () => {
const errorSpy = [];
const conf = {
spy: [],
corei18n: 'en',
logger: {
error (message) {
errorSpy.push(message);
}
}
};
const $ = {
call: 'Dependency Manager Call Pointer'
};

const routerSpy = [];
const mockRouter = { get (route) { routerSpy.push(route); } }

ControllerFactory(conf).build(mockRouter, $);

test('a router is supplied to the build method', () => {
expect(conf.spy.length).toBe(1);
expect(typeof conf.spy[0]['Controller']).toBe('function');
});

test('a controller is legitimately assigned to router', () => {
const controllerSpy = [];
conf.spy[0]['Controller'](
(dependencyManager) => {
controllerSpy.push(dependencyManager);
return { 'GET /someAction': 'someAction method' };
}, 'valid');

expect(controllerSpy[0]).toBe('Dependency Manager Call Pointer');
expect(routerSpy.length).toBe(1);
expect(routerSpy[0]).toBe('/valid/someAction');
});

test('index controller is assigned without prefix', () => {
const controllerSpy = [];
conf.spy[0]['Controller'](
(dependencyManager) => {
controllerSpy.push(dependencyManager);
return { 'GET /someAction': 'someAction method' };
}, 'Index');

expect(routerSpy.length).toBe(2);
expect(routerSpy[1]).toBe('/someAction');
});

test('a controller has an invalid action', () => {
const controllerSpy = [];
conf.spy[0]['Controller'](
(dependencyManager) => {
controllerSpy.push(dependencyManager);
return { 'GET/someAction': 'someAction method' };
}, 'invalid');

expect(errorSpy.length).toBe(2);
expect(errorSpy[0]).toBe('failed');
expect(errorSpy[1]).toBe('badVerb: GET/someAction');
});
})
64 changes: 42 additions & 22 deletions coverage/clover.xml
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<coverage generated="1515084626896" clover="3.2.0">
<project timestamp="1515084626896" name="All files">
<metrics statements="298" coveredstatements="298" conditionals="102" coveredconditionals="102" methods="33" coveredmethods="33" elements="433" coveredelements="433" complexity="0" loc="298" ncloc="298" packages="4" files="14" classes="14">
<package name="co-koa-core">
<coverage generated="1515098468102" clover="3.2.0">
<project timestamp="1515098468102" name="All files">
<metrics statements="315" coveredstatements="315" conditionals="106" coveredconditionals="106" methods="36" coveredmethods="36" elements="457" coveredelements="457" complexity="0" loc="315" ncloc="315" packages="4" files="15" classes="15">
<package name="src">
<metrics statements="29" coveredstatements="29" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
<file name="index.js" path="/home/jay/codeBase/node/co-koa-core/index.js">
<file name="index.js" path="/home/jay/codeBase/co-koa-core/src/index.js">
<metrics statements="29" coveredstatements="29" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
<line num="2" count="1" type="stmt"/>
<line num="3" count="1" type="stmt"/>
Expand Down Expand Up @@ -37,9 +37,9 @@
<line num="61" count="7" type="stmt"/>
</file>
</package>
<package name="co-koa-core.lib">
<metrics statements="98" coveredstatements="98" conditionals="36" coveredconditionals="36" methods="8" coveredmethods="8"/>
<file name="Builder.js" path="/home/jay/codeBase/node/co-koa-core/lib/Builder.js">
<package name="src.lib">
<metrics statements="115" coveredstatements="115" conditionals="40" coveredconditionals="40" methods="11" coveredmethods="11"/>
<file name="Builder.js" path="/home/jay/codeBase/co-koa-core/src/lib/Builder.js">
<metrics statements="18" coveredstatements="18" conditionals="2" coveredconditionals="2" methods="1" coveredmethods="1"/>
<line num="3" count="1" type="stmt"/>
<line num="4" count="1" type="stmt"/>
Expand All @@ -60,7 +60,7 @@
<line num="34" count="1" type="stmt"/>
<line num="40" count="2" type="stmt"/>
</file>
<file name="ClientConfig.js" path="/home/jay/codeBase/node/co-koa-core/lib/ClientConfig.js">
<file name="ClientConfig.js" path="/home/jay/codeBase/co-koa-core/src/lib/ClientConfig.js">
<metrics statements="12" coveredstatements="12" conditionals="9" coveredconditionals="9" methods="0" coveredmethods="0"/>
<line num="3" count="2" type="stmt"/>
<line num="5" count="2" type="stmt"/>
Expand All @@ -75,7 +75,7 @@
<line num="36" count="3" type="stmt"/>
<line num="40" count="2" type="stmt"/>
</file>
<file name="ClientConfigFactory.js" path="/home/jay/codeBase/node/co-koa-core/lib/ClientConfigFactory.js">
<file name="ClientConfigFactory.js" path="/home/jay/codeBase/co-koa-core/src/lib/ClientConfigFactory.js">
<metrics statements="15" coveredstatements="15" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="1"/>
<line num="3" count="2" type="stmt"/>
<line num="5" count="2" type="stmt"/>
Expand All @@ -93,7 +93,27 @@
<line num="34" count="2" type="stmt"/>
<line num="44" count="3" type="stmt"/>
</file>
<file name="DependencyManager.js" path="/home/jay/codeBase/node/co-koa-core/lib/DependencyManager.js">
<file name="ControllerFactory.js" path="/home/jay/codeBase/co-koa-core/src/lib/ControllerFactory.js">
<metrics statements="17" coveredstatements="17" conditionals="4" coveredconditionals="4" methods="3" coveredmethods="3"/>
<line num="1" count="1" type="stmt"/>
<line num="2" count="1" type="stmt"/>
<line num="3" count="1" type="stmt"/>
<line num="5" count="1" type="stmt"/>
<line num="7" count="1" type="stmt"/>
<line num="11" count="1" type="stmt"/>
<line num="13" count="1" type="stmt"/>
<line num="15" count="3" type="stmt"/>
<line num="16" count="3" type="stmt"/>
<line num="19" count="3" type="stmt"/>
<line num="20" count="3" type="stmt"/>
<line num="21" count="3" type="cond" truecount="2" falsecount="0"/>
<line num="22" count="2" type="cond" truecount="2" falsecount="0"/>
<line num="23" count="2" type="stmt"/>
<line num="25" count="1" type="stmt"/>
<line num="27" count="1" type="stmt"/>
<line num="36" count="1" type="stmt"/>
</file>
<file name="DependencyManager.js" path="/home/jay/codeBase/co-koa-core/src/lib/DependencyManager.js">
<metrics statements="15" coveredstatements="15" conditionals="8" coveredconditionals="8" methods="1" coveredmethods="1"/>
<line num="3" count="1" type="stmt"/>
<line num="5" count="1" type="stmt"/>
Expand All @@ -111,7 +131,7 @@
<line num="26" count="5" type="stmt"/>
<line num="30" count="5" type="stmt"/>
</file>
<file name="ModelFactory.js" path="/home/jay/codeBase/node/co-koa-core/lib/ModelFactory.js">
<file name="ModelFactory.js" path="/home/jay/codeBase/co-koa-core/src/lib/ModelFactory.js">
<metrics statements="28" coveredstatements="28" conditionals="6" coveredconditionals="6" methods="4" coveredmethods="4"/>
<line num="3" count="1" type="stmt"/>
<line num="4" count="1" type="stmt"/>
Expand Down Expand Up @@ -142,7 +162,7 @@
<line num="40" count="1" type="stmt"/>
<line num="46" count="1" type="stmt"/>
</file>
<file name="WelcomeMessage.js" path="/home/jay/codeBase/node/co-koa-core/lib/WelcomeMessage.js">
<file name="WelcomeMessage.js" path="/home/jay/codeBase/co-koa-core/src/lib/WelcomeMessage.js">
<metrics statements="10" coveredstatements="10" conditionals="5" coveredconditionals="5" methods="1" coveredmethods="1"/>
<line num="3" count="1" type="stmt"/>
<line num="4" count="1" type="stmt"/>
Expand All @@ -156,9 +176,9 @@
<line num="25" count="5" type="stmt"/>
</file>
</package>
<package name="co-koa-core.lib.helpers">
<package name="src.lib.helpers">
<metrics statements="112" coveredstatements="112" conditionals="42" coveredconditionals="42" methods="16" coveredmethods="16"/>
<file name="BuilderHelper.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/BuilderHelper.js">
<file name="BuilderHelper.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/BuilderHelper.js">
<metrics statements="17" coveredstatements="17" conditionals="8" coveredconditionals="8" methods="3" coveredmethods="3"/>
<line num="3" count="2" type="stmt"/>
<line num="5" count="2" type="stmt"/>
Expand All @@ -178,7 +198,7 @@
<line num="29" count="5" type="stmt"/>
<line num="35" count="3" type="stmt"/>
</file>
<file name="ClientConfigFactoryHelper.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/ClientConfigFactoryHelper.js">
<file name="ClientConfigFactoryHelper.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/ClientConfigFactoryHelper.js">
<metrics statements="25" coveredstatements="25" conditionals="6" coveredconditionals="6" methods="3" coveredmethods="3"/>
<line num="3" count="2" type="stmt"/>
<line num="4" count="2" type="stmt"/>
Expand Down Expand Up @@ -206,7 +226,7 @@
<line num="42" count="2" type="stmt"/>
<line num="50" count="4" type="stmt"/>
</file>
<file name="DependencyManagerHelper.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/DependencyManagerHelper.js">
<file name="DependencyManagerHelper.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/DependencyManagerHelper.js">
<metrics statements="33" coveredstatements="33" conditionals="13" coveredconditionals="13" methods="1" coveredmethods="1"/>
<line num="3" count="1" type="stmt"/>
<line num="4" count="1" type="stmt"/>
Expand Down Expand Up @@ -242,7 +262,7 @@
<line num="69" count="3" type="cond" truecount="2" falsecount="0"/>
<line num="77" count="2" type="stmt"/>
</file>
<file name="ModelFactoryHelper.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/ModelFactoryHelper.js">
<file name="ModelFactoryHelper.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/ModelFactoryHelper.js">
<metrics statements="37" coveredstatements="37" conditionals="15" coveredconditionals="15" methods="9" coveredmethods="9"/>
<line num="3" count="1" type="stmt"/>
<line num="4" count="1" type="stmt"/>
Expand Down Expand Up @@ -283,9 +303,9 @@
<line num="76" count="4" type="stmt"/>
</file>
</package>
<package name="co-koa-core.lib.helpers.resources">
<package name="src.lib.helpers.resources">
<metrics statements="59" coveredstatements="59" conditionals="22" coveredconditionals="22" methods="8" coveredmethods="8"/>
<file name="AssetFactory.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/resources/AssetFactory.js">
<file name="AssetFactory.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/resources/AssetFactory.js">
<metrics statements="16" coveredstatements="16" conditionals="6" coveredconditionals="6" methods="1" coveredmethods="1"/>
<line num="3" count="2" type="stmt"/>
<line num="4" count="2" type="stmt"/>
Expand All @@ -304,7 +324,7 @@
<line num="30" count="1" type="stmt"/>
<line num="38" count="4" type="stmt"/>
</file>
<file name="AsyncLibrary.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/resources/AsyncLibrary.js">
<file name="AsyncLibrary.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/resources/AsyncLibrary.js">
<metrics statements="9" coveredstatements="9" conditionals="4" coveredconditionals="4" methods="3" coveredmethods="3"/>
<line num="3" count="1" type="stmt"/>
<line num="5" count="1" type="stmt"/>
Expand All @@ -316,7 +336,7 @@
<line num="21" count="1" type="stmt"/>
<line num="26" count="1" type="stmt"/>
</file>
<file name="TreeAlgorithm.js" path="/home/jay/codeBase/node/co-koa-core/lib/helpers/resources/TreeAlgorithm.js">
<file name="TreeAlgorithm.js" path="/home/jay/codeBase/co-koa-core/src/lib/helpers/resources/TreeAlgorithm.js">
<metrics statements="34" coveredstatements="34" conditionals="12" coveredconditionals="12" methods="4" coveredmethods="4"/>
<line num="3" count="3" type="stmt"/>
<line num="4" count="3" type="stmt"/>
Expand Down

0 comments on commit 7709abb

Please sign in to comment.