@@ -323,7 +323,7 @@ describe('Cursor', () => {
323
323
expect ( callbacks . removed ) . not . toHaveBeenCalled ( )
324
324
} )
325
325
326
- it ( 'should call the appropriate callbacks when items are added, moved, changed, or removed' , ( ) => {
326
+ it ( 'should call the appropriate callbacks when items are added, moved, changed, or removed' , async ( ) => {
327
327
const col = new Collection < TestItem & { count : number } > ( )
328
328
items . forEach ( ( item , index ) => col . insert ( { ...item , count : index } ) )
329
329
@@ -342,28 +342,33 @@ describe('Cursor', () => {
342
342
343
343
// Change data
344
344
col . insert ( { id : 4 , name : 'item4' , count : 99 } ) // Add new item
345
+ await new Promise ( ( resolve ) => { setTimeout ( resolve , 0 ) } )
345
346
expect ( callbacks . added ) . toHaveBeenCalledWith ( expect . objectContaining ( { id : 4 , name : 'item4' } ) )
346
347
expect ( callbacks . addedBefore ) . toHaveBeenCalledWith (
347
348
expect . objectContaining ( { id : 4 , name : 'item4' } ) ,
348
349
null ,
349
350
)
350
351
351
352
col . updateOne ( { id : 1 } , { $set : { name : 'item1_modified' } } ) // Modify existing item
353
+ await new Promise ( ( resolve ) => { setTimeout ( resolve , 0 ) } )
352
354
expect ( callbacks . changed ) . toHaveBeenCalledWith ( expect . objectContaining ( { id : 1 , name : 'item1_modified' } ) )
353
355
354
356
col . updateOne ( { id : 1 } , { $set : { count : 42 } } ) // Move existing item
357
+ await new Promise ( ( resolve ) => { setTimeout ( resolve , 0 ) } )
355
358
expect ( callbacks . movedBefore ) . toHaveBeenCalledWith (
356
359
expect . objectContaining ( { id : 1 } ) ,
357
360
expect . objectContaining ( { id : 4 } ) ,
358
361
)
359
362
360
363
col . updateOne ( { id : 2 } , { $set : { count : 999 } } ) // Move existing item
364
+ await new Promise ( ( resolve ) => { setTimeout ( resolve , 0 ) } )
361
365
expect ( callbacks . movedBefore ) . toHaveBeenCalledWith (
362
366
expect . objectContaining ( { id : 2 } ) ,
363
367
null ,
364
368
)
365
369
366
370
col . removeOne ( { id : 2 } ) // Remove item
371
+ await new Promise ( ( resolve ) => { setTimeout ( resolve , 0 ) } )
367
372
expect ( callbacks . removed ) . toHaveBeenCalledWith ( expect . objectContaining ( { id : 2 , name : 'Item 2' } ) )
368
373
} )
369
374
0 commit comments