@@ -268,4 +268,60 @@ test('should handle throwing an error in onIncomingMessage and onOutgoingMessage
268268 await waitForLogMessage ( loggerSpy , 'proxy ws error from onOutgoingMessage hook' )
269269} )
270270
271- // TODO onConnect, onDisconnect
271+ test ( 'should call onConnect hook' , async ( t ) => {
272+ const onConnect = ( ) => {
273+ logger . info ( 'onConnect called' )
274+ }
275+
276+ const wsReconnectOptions = {
277+ logs : true ,
278+ }
279+
280+ const { loggerSpy, logger } = await createServices ( { t, wsReconnectOptions, wsHooks : { onConnect } } )
281+
282+ await waitForLogMessage ( loggerSpy , 'onConnect called' )
283+ } )
284+
285+ test ( 'should handle throwing an error in onConnect hook' , async ( t ) => {
286+ const onConnect = ( ) => {
287+ throw new Error ( 'onConnect error' )
288+ }
289+
290+ const wsReconnectOptions = {
291+ logs : true ,
292+ }
293+
294+ const { loggerSpy } = await createServices ( { t, wsReconnectOptions, wsHooks : { onConnect } } )
295+
296+ await waitForLogMessage ( loggerSpy , 'proxy ws error from onConnect hook' )
297+ } )
298+
299+ test ( 'should call onDisconnect hook' , async ( t ) => {
300+ const onDisconnect = ( ) => {
301+ logger . info ( 'onDisconnect called' )
302+ }
303+
304+ const wsReconnectOptions = {
305+ logs : true ,
306+ }
307+
308+ const { loggerSpy, logger, client } = await createServices ( { t, wsReconnectOptions, wsHooks : { onDisconnect } } )
309+ client . close ( )
310+
311+ await waitForLogMessage ( loggerSpy , 'onDisconnect called' )
312+ } )
313+
314+ test ( 'should handle throwing an error in onDisconnect hook' , async ( t ) => {
315+ const onDisconnect = ( ) => {
316+ throw new Error ( 'onDisconnect error' )
317+ }
318+
319+ const wsReconnectOptions = {
320+ logs : true ,
321+ }
322+
323+ const { loggerSpy, client } = await createServices ( { t, wsReconnectOptions, wsHooks : { onDisconnect } } )
324+ client . close ( )
325+
326+ await waitForLogMessage ( loggerSpy , 'proxy ws error from onDisconnect hook' )
327+ } )
0 commit comments