-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy patherrorTimer.spec.js
54 lines (47 loc) · 1.68 KB
/
errorTimer.spec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const ErrorTimer = require("@src/errorTimer");
const { ERROR_MSG} = require("@src/timer/constant");
const {createPromiseHandler} = require("./testHelper");
describe("ErrorTimer", () => {
it("should accept time, scheduler and callback", () => {
function * generate () {
yield 1;
}
const errorTimer = new ErrorTimer(0,{scheduler: generate() }, (err, count) => {
expect(count).toEqual(1);
handler.resolve();
});
const handler = createPromiseHandler();
errorTimer.start();
return handler.promise;
});
it("should set error in callback if scheduler return timestamp divisiable by 5", () => {
function * generate () {
yield 10;
}
const errorTimer = new ErrorTimer(100,{scheduler: generate() }, (err, count) => {
expect(count).toEqual(undefined);
expect(err).toEqual(ERROR_MSG);
handler.resolve();
});
errorTimer.on("error", () => {});
const handler = createPromiseHandler();
errorTimer.start();
return handler.promise;
});
it("should emit if scheduler return timestamp divisiable by 5", () => {
function * generate () {
yield 10;
}
const errorTimer = new ErrorTimer(100,{scheduler: generate() }, (err, count) => {
expect(count).toEqual(undefined);
expect(err).toEqual(ERROR_MSG);
});
errorTimer.on("error", (err) => {
expect(err).toEqual(ERROR_MSG);
handler.resolve();
});
const handler = createPromiseHandler();
errorTimer.start();
return handler.promise;
});
});