11import type { DuplexStream } from '@ocap/streams' ;
2- import { beforeEach , describe , expect , it , vi } from 'vitest' ;
2+ import { describe , expect , it , vi } from 'vitest' ;
33
4+ import { logLevels } from './constants.ts' ;
45import { consoleTransport , makeStreamTransport } from './transports.ts' ;
5- import type { LogAlias , LogEntry , LogLevel , Transport } from './types.ts' ;
6+ import type { LogEntry , LogLevel } from './types.ts' ;
67
78const makeLogEntry = ( level : LogLevel ) : LogEntry => ( {
89 level,
910 message : 'test-message' ,
1011 tags : [ 'test-tag' ] ,
1112} ) ;
1213
13- const logAliases = [ 'log' , 'info' , 'debug' , 'warn' , 'error' ] as const ;
14-
1514describe ( 'consoleTransport' , ( ) => {
16- it . each ( logAliases ) (
15+ it . each ( logLevels ) (
1716 'logs to the appropriate console alias: %s' ,
18- ( level : LogAlias ) => {
17+ ( level : LogLevel ) => {
1918 const logEntry = makeLogEntry ( level ) ;
2019 const consoleMethodSpy = vi . spyOn ( console , level ) ;
2120 consoleTransport ( logEntry ) ;
@@ -25,36 +24,16 @@ describe('consoleTransport', () => {
2524 ) ;
2625 } ,
2726 ) ;
28-
29- it ( 'does not log silent messages' , ( ) => {
30- const consoleMethodSpies = logAliases . map ( ( alias ) =>
31- vi . spyOn ( console , alias ) ,
32- ) ;
33- consoleTransport ( makeLogEntry ( 'silent' ) ) ;
34- consoleMethodSpies . forEach ( ( spy ) => expect ( spy ) . not . toHaveBeenCalled ( ) ) ;
35- } ) ;
3627} ) ;
3728
3829describe ( 'makeStreamTransport' , ( ) => {
39- let mockStream : DuplexStream < LogEntry > ;
40- let streamTransport : Transport ;
41-
42- beforeEach ( ( ) => {
43- mockStream = {
44- write : vi . fn ( ) . mockResolvedValue ( undefined ) ,
45- } as unknown as DuplexStream < LogEntry > ;
46- streamTransport = makeStreamTransport ( mockStream ) ;
47- } ) ;
48-
4930 it ( 'writes to the stream' , ( ) => {
5031 const logEntry = makeLogEntry ( 'info' ) ;
32+ const mockStream = {
33+ write : vi . fn ( ) . mockResolvedValue ( undefined ) ,
34+ } as unknown as DuplexStream < LogEntry > ;
35+ const streamTransport = makeStreamTransport ( mockStream ) ;
5136 streamTransport ( logEntry ) ;
5237 expect ( mockStream . write ) . toHaveBeenCalledWith ( logEntry ) ;
5338 } ) ;
54-
55- it ( 'does not write silent messages' , ( ) => {
56- const logEntry = makeLogEntry ( 'silent' ) ;
57- streamTransport ( logEntry ) ;
58- expect ( mockStream . write ) . not . toHaveBeenCalled ( ) ;
59- } ) ;
6039} ) ;
0 commit comments