@@ -217,15 +217,19 @@ describe('Event Handler Test', function() {
217
217
218
218
it ( 'Wait BLOCK_FINALIZED events' , function ( done ) {
219
219
this . timeout ( 3 * epochMs ) ;
220
- wsClient . once ( 'message' , ( message ) => {
220
+ function messageHandler ( message ) {
221
221
const parsedMessage = JSON . parse ( message ) ;
222
222
const messageType = parsedMessage . type ;
223
223
const eventType = _ . get ( parsedMessage , 'data.type' ) ;
224
224
if ( messageType === BlockchainEventMessageTypes . EMIT_EVENT &&
225
225
eventType === BlockchainEventTypes . BLOCK_FINALIZED ) {
226
226
done ( ) ;
227
+ // NOTE(platfowner): Avoid test failure with "done() called multiple times".
228
+ wsClient . removeListener ( 'message' , messageHandler ) ;
227
229
}
228
- } ) ;
230
+ }
231
+ // NOTE(platfowner): Use 'on' instead of 'once' due to heartbeats with custom ping-pong.
232
+ wsClient . on ( 'message' , messageHandler ) ;
229
233
} ) ;
230
234
231
235
it ( 'Deregister filter & check number of filters === 0' , function ( done ) {
@@ -324,7 +328,8 @@ describe('Event Handler Test', function() {
324
328
block_number : null ,
325
329
} ;
326
330
registerFilter ( wsClient , filterId , BlockchainEventTypes . BLOCK_FINALIZED , config ) ;
327
- wsClient . once ( 'message' , ( message ) => {
331
+ // NOTE(platfowner): Use 'on' instead of 'once' due to heartbeats with custom ping-pong.
332
+ wsClient . on ( 'message' , ( message ) => {
328
333
const parsedMessage = JSON . parse ( message ) ;
329
334
const messageType = parsedMessage . type ;
330
335
const eventType = _ . get ( parsedMessage , 'data.type' ) ;
@@ -343,7 +348,8 @@ describe('Event Handler Test', function() {
343
348
path : targetPath ,
344
349
} ;
345
350
registerFilter ( wsClient , filterId , BlockchainEventTypes . VALUE_CHANGED , config ) ;
346
- wsClient . once ( 'message' , ( message ) => {
351
+ // NOTE(platfowner): Use 'on' instead of 'once' due to heartbeats with custom ping-pong.
352
+ wsClient . on ( 'message' , ( message ) => {
347
353
const parsedMessage = JSON . parse ( message ) ;
348
354
const messageType = parsedMessage . type ;
349
355
const eventType = _ . get ( parsedMessage , 'data.type' ) ;
0 commit comments