1- const loggerFactory = require ( '..' ) ;
2- const { redirect } = require ( './helper' ) ;
31const express = require ( 'express' ) ;
42const supertest = require ( 'supertest' ) ;
3+ const stream = require ( 'stream' ) ;
4+ const { levels } = require ( '../levels' ) ;
5+
6+ let loggerFactory ;
7+
8+ beforeEach ( ( ) => {
9+ jest . resetModules ( ) ;
10+ loggerFactory = require ( '..' ) ; // eslint-disable-line global-require
11+ } ) ;
512
613test ( 'can create default logger' , ( ) => {
714 const logger = loggerFactory ( ) ;
@@ -14,12 +21,15 @@ test('can create named logger', () => {
1421} ) ;
1522
1623test ( 'can use custom stream' , ( ) => {
17- const logger = loggerFactory ( '' , {
24+ const logger = loggerFactory ( {
1825 streams : [
1926 {
20- stream : redirect ( ( chunk , enc , cb ) => {
21- expect ( chunk . msg ) . toBe ( 'Hello' ) ;
22- cb ( ) ;
27+ stream : new stream . Writable ( {
28+ write : ( chunk , encoding , next ) => {
29+ const json = JSON . parse ( chunk ) ;
30+ expect ( json . message ) . toBe ( 'Hello' ) ;
31+ next ( ) ;
32+ } ,
2333 } ) ,
2434 } ,
2535 ] ,
@@ -29,12 +39,16 @@ test('can use custom stream', () => {
2939} ) ;
3040
3141test ( 'can use warning level' , ( ) => {
32- const logger = loggerFactory ( '' , {
42+ const logger = loggerFactory ( {
3343 streams : [
3444 {
35- stream : redirect ( ( chunk , enc , cb ) => {
36- expect ( chunk . msg ) . toBe ( 'Hello' ) ;
37- cb ( ) ;
45+ stream : new stream . Writable ( {
46+ write : ( chunk , encoding , next ) => {
47+ const json = JSON . parse ( chunk ) ;
48+ expect ( json . message ) . toBe ( 'Hello' ) ;
49+ expect ( json . level ) . toBe ( levels . warn ) ;
50+ next ( ) ;
51+ } ,
3852 } ) ,
3953 } ,
4054 ] ,
0 commit comments