import Logger from './LoggerWithFilePrefix' ; describe ( 'LoggerWithFilePrefix that uses electron-log' , ( ) => { const filePath = 'some/file/path' ; let log = new Logger ( filePath ) ; const mockLoggerInfoProperty = jest . fn ( ) ; const mockLoggerErrorProperty = jest . fn ( ) ; const mockLoggerWarnProperty = jest . fn ( ) ; const mockLoggerVerboseProperty = jest . fn ( ) ; const mockLoggerDebugProperty = jest . fn ( ) ; const mockLoggerSillyProperty = jest . fn ( ) ; beforeEach ( ( ) => { mockLoggerInfoProperty . mockClear ( ) ; mockLoggerErrorProperty . mockClear ( ) ; mockLoggerWarnProperty . mockClear ( ) ; mockLoggerVerboseProperty . mockClear ( ) ; mockLoggerDebugProperty . mockClear ( ) ; mockLoggerDebugProperty . mockClear ( ) ; log = new Logger ( filePath ) ; Object . defineProperty ( log , 'electronLog' , { value : { info : mockLoggerInfoProperty , error : mockLoggerErrorProperty , warn : mockLoggerWarnProperty , verbose : mockLoggerVerboseProperty , debug : mockLoggerDebugProperty , silly : mockLoggerSillyProperty , } , } ) ; } ) ; it ( 'should use internal electronLog.info() with filePath as first argument, when .info() is called' , ( ) => { log . info ( 'some info() log here' ) ; expect ( mockLoggerInfoProperty ) . toHaveBeenCalledWith ( filePath , expect . anything ( ) , expect . anything ( ) ) ; } ) ; it ( 'should use internal electronLog.error() with filePath as first argument, when .error() is called' , ( ) => { log . error ( 'some error() log here' ) ; expect ( mockLoggerErrorProperty ) . toHaveBeenCalledWith ( filePath , expect . anything ( ) , expect . anything ( ) ) ; } ) ; it ( 'should use internal electronLog.warn() with filePath as first argument, when .warn() is called' , ( ) => { log . warn ( 'some warn() log here' ) ; expect ( mockLoggerWarnProperty ) . toHaveBeenCalledWith ( filePath , expect . anything ( ) , expect . anything ( ) ) ; } ) ; it ( 'should use internal electronLog.verbose() with filePath as first argument, when .verbose() is called' , ( ) => { log . verbose ( 'some verbose() log here' ) ; expect ( mockLoggerVerboseProperty ) . toHaveBeenCalledWith ( filePath , expect . anything ( ) , expect . anything ( ) ) ; } ) ; it ( 'should use internal electronLog.debug() with filePath as first argument, when .debug() is called' , ( ) => { log . debug ( 'some debug() log here' ) ; expect ( mockLoggerDebugProperty ) . toHaveBeenCalledWith ( filePath , expect . anything ( ) , expect . anything ( ) ) ; } ) ; it ( 'should use internal electronLog.silly() with filePath as first argument, when .silly() is called' , ( ) => { log . silly ( 'some silly() log here' ) ; expect ( mockLoggerSillyProperty ) . toHaveBeenCalledWith ( filePath , expect . anything ( ) , expect . anything ( ) ) ; } ) ; } ) ;