Skip to content

Commit a687cca

Browse files
authored
test: fix flaky drained worker delayed-job assertion
1 parent 61b02bd commit a687cca

1 file changed

Lines changed: 23 additions & 14 deletions

File tree

tests/worker.test.ts

Lines changed: 23 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)