@@ -237,4 +237,49 @@ describe('Test baseQueueHandler', function () {
237237 migratorSpy . args [ 0 ] [ 0 ] . should . equal ( this . name ) ;
238238 migratorSpy . args [ 1 ] [ 0 ] . should . equal ( this . name + '_dlq' ) ;
239239 } ) ;
240+
241+ it ( 'should log error as warning when error has logAsWarning property set to true' , async function ( ) {
242+ const handler = new DemoHandler ( this . name , rabbit , {
243+ retries : 0 ,
244+ retryDelay : 10
245+ } ) ;
246+ await handler . created ;
247+ const warnSpy = sandbox . spy ( handler . logger , 'warn' ) ;
248+ const errorSpy = sandbox . spy ( handler . logger , 'error' ) ;
249+
250+ const errorWithWarning = new Error ( 'test warning error' ) ;
251+ ( < any > errorWithWarning ) . logAsWarning = true ;
252+
253+ handler . handle = sandbox . spy ( ( ) => {
254+ throw errorWithWarning ;
255+ } ) ;
256+
257+ await rabbit . publish ( this . name , { test : 'data' } , { correlationId : '5' } ) ;
258+ await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
259+
260+ warnSpy . calledWith ( errorWithWarning ) . should . be . true ( ) ;
261+ errorSpy . calledWith ( errorWithWarning ) . should . be . false ( ) ;
262+ } ) ;
263+
264+ it ( 'should log error as error when error does not have logAsWarning property set' , async function ( ) {
265+ const handler = new DemoHandler ( this . name , rabbit , {
266+ retries : 0 ,
267+ retryDelay : 10
268+ } ) ;
269+ await handler . created ;
270+ const warnSpy = sandbox . spy ( handler . logger , 'warn' ) ;
271+ const errorSpy = sandbox . spy ( handler . logger , 'error' ) ;
272+
273+ const normalError = new Error ( 'test normal error' ) ;
274+
275+ handler . handle = sandbox . spy ( ( ) => {
276+ throw normalError ;
277+ } ) ;
278+
279+ await rabbit . publish ( this . name , { test : 'data' } , { correlationId : '6' } ) ;
280+ await new Promise ( resolve => setTimeout ( resolve , 100 ) ) ;
281+
282+ errorSpy . calledWith ( normalError ) . should . be . true ( ) ;
283+ warnSpy . calledWith ( normalError ) . should . be . false ( ) ;
284+ } ) ;
240285} ) ;
0 commit comments