Skip to content

Commit e3b5223

Browse files
committed
Improve quality and coverage
1 parent 4bb7068 commit e3b5223

File tree

5 files changed

+86
-1
lines changed

5 files changed

+86
-1
lines changed

.nycrc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@
44
],
55
"exclude": [
66
"**/node_modules/**",
7-
"src/lib/interfaces*"
7+
"src/lib/interfaces*",
8+
"demo/*"
89
],
910
"extension": [
1011
".ts"

src/lib/logger.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -140,3 +140,7 @@ export const LOGGER = new Proxy(({} as any) as ILogger, {
140140
}
141141
}
142142
});
143+
144+
export function setLogger(logger: ILogger | null) {
145+
currentLogger = logger;
146+
}

test/lib/EventManagerError.test.ts

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
import { expect } from "chai";
2+
import { describe, it } from "mocha";
3+
import * as sinon from "sinon";
4+
import { EventManagerError } from "../../src/lib/EventManagerError";
5+
describe("RabbitMQ Event Manager, EventManagerError ", () => {
6+
let sandbox: sinon.SinonSandbox;
7+
beforeEach(() => {
8+
sandbox = sinon.createSandbox();
9+
});
10+
afterEach(() => {
11+
sandbox.restore();
12+
});
13+
14+
it(`Should be able to throw a default error`, () => {
15+
/** given */
16+
17+
/** when */
18+
try {
19+
throw new EventManagerError();
20+
} catch (err) {
21+
/** then */
22+
expect(err.message).to.contains("An error occured");
23+
expect(err.cause).to.equal(undefined);
24+
}
25+
});
26+
27+
it(`Should be able to define an error message`, () => {
28+
/** given */
29+
30+
/** when */
31+
try {
32+
throw new EventManagerError("new message");
33+
} catch (err) {
34+
/** then */
35+
expect(err.message).to.contains("new message");
36+
expect(err.cause).to.equal(undefined);
37+
}
38+
});
39+
40+
it(`Should be able to define an root error`, () => {
41+
/** given */
42+
const rootError = new Error("My Root Error");
43+
/** when */
44+
try {
45+
throw new EventManagerError("new message", rootError);
46+
} catch (err) {
47+
/** then */
48+
expect(err.message).to.contains("new message");
49+
expect(err.cause).to.equal(rootError);
50+
}
51+
});
52+
});

test/lib/logger.test.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import { expect } from "chai";
2+
import { describe, it } from "mocha";
3+
import * as sinon from "sinon";
4+
import { EventManagerError } from "../../src/lib/EventManagerError";
5+
import { LOGGER, setLogger } from "../../src/lib/logger";
6+
describe("RabbitMQ Event Manager, Logger", () => {
7+
let sandbox: sinon.SinonSandbox;
8+
beforeEach(() => {
9+
sandbox = sinon.createSandbox();
10+
setLogger(null);
11+
});
12+
afterEach(() => {
13+
sandbox.restore();
14+
});
15+
16+
it(`Should throw error if logger not initialized`, () => {
17+
/** given */
18+
/** when */
19+
try {
20+
LOGGER.log("error", "demo");
21+
} catch (err) {
22+
/** then */
23+
expect(err).to.be.an.instanceOf(EventManagerError);
24+
expect(err.message).to.contains("Logger has not been inititialized");
25+
expect(err.cause).to.equal(undefined);
26+
}
27+
});
28+
});

test/toto.ts

Whitespace-only changes.

0 commit comments

Comments
 (0)