Issues (9)

tests/package/configurations.test.js (5 issues)

1
import { assert } from 'chai';
2
import { createLogger, format } from 'winston';
3
import transport from '../entry';
4
5
suite('Configurations');
6
7
test('Default configuration', function () {
8
    const array = [];
9
    const logger = createLogger({
10
        level      : 'debug',
11
        format     : format.json(),
12
        transports : [ new transport({ array }) ]
0 ignored issues
show
Coding Style Best Practice introduced by
By convention, constructors like transport should be capitalized.
Loading history...
13
    });
14
15
    assert.isEmpty(array);
16
    logger.log('info', { a: 1, b: 2 });
17
    assert.deepEqual(array, [ '{"a":1,"b":2,"level":"info"}' ]);
18
});
19
20
test('parse json on the fly', function () {
21
    const array = [];
22
    const logger = createLogger({
23
        level      : 'debug',
24
        format     : format.json(),
25
        transports : [ new transport({ array, json: true }) ]
0 ignored issues
show
Coding Style Best Practice introduced by
By convention, constructors like transport should be capitalized.
Loading history...
26
    });
27
28
    assert.isEmpty(array);
29
    logger.log('info', { a: 1, b: 2 });
30
    assert.deepEqual(array, [ { 'a': 1, 'b': 2, 'level': 'info' } ]);
31
});
32
33
test('limit amount of elements in array', function () {
34
    const array = [];
35
    const logger = createLogger({
36
        level      : 'debug',
37
        format     : format.json(),
38
        transports : [ new transport({ array, limit: 5 }) ]
0 ignored issues
show
Coding Style Best Practice introduced by
By convention, constructors like transport should be capitalized.
Loading history...
39
    });
40
41
    assert.isEmpty(array);
42
    (Array.from({ length: 100 }))
43
        .map((item, index) => index + 1)
44
        .forEach(item => logger.log('info', item));
45
46
    assert.deepEqual(array, [ 96, 97, 98, 99, 100 ].map(i => `{"level":"info","message":${i}}`));
47
});
48
49
test('default Transport maxListeners', function () {
50
    const array = [];
51
    const logger = createLogger({
52
        level      : 'debug',
53
        format     : format.json(),
54
        transports : [ new transport({ array, limit: 5 }) ]
0 ignored issues
show
Coding Style Best Practice introduced by
By convention, constructors like transport should be capitalized.
Loading history...
55
    });
56
57
    assert.equal(logger._readableState.pipes._maxListeners, 30);
58
});
59
60
test('set Transport maxListeners as 0', function () {
61
    const array = [];
62
    const logger = createLogger({
63
        level      : 'debug',
64
        format     : format.json(),
65
        transports : [ new transport({ array, limit: 5, maxListeners: 0 }) ]
0 ignored issues
show
Coding Style Best Practice introduced by
By convention, constructors like transport should be capitalized.
Loading history...
66
    });
67
68
    assert.equal(logger._readableState.pipes._maxListeners, 0);
69
});
70