@@ -1698,9 +1698,32 @@ describe('workers', () => {
16981698 ) ;
16991699 await worker . waitUntilReady ( ) ;
17001700
1701+ let bulkStart = 0 ;
1702+ let bulkCompletedCount = 0 ;
1703+
1704+ const completing2 = new Promise < void > ( resolve => {
1705+ worker . on ( 'completed' , job => {
1706+ if ( ! bulkStart ) {
1707+ return ;
1708+ }
1709+
1710+ bulkCompletedCount += 1 ;
1711+
1712+ if ( bulkCompletedCount === 2 ) {
1713+ const timeDiff = Date . now ( ) - bulkStart ;
1714+ expect ( timeDiff ) . toBeGreaterThanOrEqual ( 4000 ) ;
1715+ expect ( timeDiff ) . toBeLessThan ( 4500 ) ;
1716+ expect ( job . delay ) . toBe ( 0 ) ;
1717+ resolve ( ) ;
1718+ }
1719+ } ) ;
1720+ } ) ;
1721+
17011722 // after this event, worker should be drained
17021723 const completing = new Promise < void > ( resolve => {
17031724 worker . once ( 'completed' , async ( ) => {
1725+ bulkStart = Date . now ( ) ;
1726+
17041727 await queue . addBulk ( [
17051728 { name : 'test1' , data : { idx : 0 , foo : 'bar' } } ,
17061729 {
@@ -1718,20 +1741,6 @@ describe('workers', () => {
17181741
17191742 await completing ;
17201743
1721- const now = Date . now ( ) ;
1722- const completing2 = new Promise < void > ( resolve => {
1723- worker . on (
1724- 'completed' ,
1725- after ( 2 , job => {
1726- const timeDiff = Date . now ( ) - now ;
1727- expect ( timeDiff ) . toBeGreaterThanOrEqual ( 4000 ) ;
1728- expect ( timeDiff ) . toBeLessThan ( 4500 ) ;
1729- expect ( job . delay ) . toBe ( 0 ) ;
1730- resolve ( ) ;
1731- } ) ,
1732- ) ;
1733- } ) ;
1734-
17351744 await completing2 ;
17361745 await worker . close ( ) ;
17371746 } ) ;
0 commit comments