forked from harupy/auto-labeling
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathlogger.test.ts
43 lines (33 loc) · 1.06 KB
/
logger.test.ts
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
import { LoggingLevel, Logger } from '../src/logger';
describe(Logger.name, (): void => {
let logger: Logger;
let consoleLogSpy: jest.SpyInstance<void, [any?, ...any[]]>;
beforeAll((): void => {
consoleLogSpy = jest.spyOn(console, 'log').mockImplementation();
});
afterEach((): void => {
consoleLogSpy.mockReset();
});
afterAll((): void => {
consoleLogSpy.mockRestore();
});
test('LoggingLevel: DEBUG', (): void => {
logger = new Logger(LoggingLevel.DEBUG);
logger.debug('a');
expect(consoleLogSpy).toHaveBeenCalledTimes(1);
expect(consoleLogSpy).toHaveBeenCalledWith('a');
});
test('LoggingLevel: SILENT', (): void => {
logger = new Logger(LoggingLevel.SILENT);
logger.debug('a');
expect(consoleLogSpy).not.toHaveBeenCalled();
});
it('setLevel', (): void => {
logger = new Logger(LoggingLevel.SILENT);
logger.debug('a');
logger.setLevel(LoggingLevel.DEBUG);
logger.debug('b');
expect(consoleLogSpy).toHaveBeenCalledTimes(1);
expect(consoleLogSpy).toHaveBeenCalledWith('b');
});
});