Skip to content

Commit 85f4509

Browse files
committed
refactor: simplify test structure and improve readability in queue tests
Signed-off-by: Vladislav Polyakov <[email protected]>
1 parent 013e59b commit 85f4509

File tree

1 file changed

+49
-51
lines changed

1 file changed

+49
-51
lines changed

packages/topic/src/queue.test.ts

Lines changed: 49 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,71 +1,69 @@
1-
import { describe, expect, it } from 'vitest';
1+
import { expect, test } from 'vitest';
22
import { PQueue } from './queue.ts';
33

4-
describe('PQueue', () => {
5-
it('should process items in priority order', async () => {
6-
const queue = new PQueue<number>();
4+
test('processes items in priority order', async () => {
5+
const queue = new PQueue<number>();
76

8-
queue.push(1, 1); // Priority 1
9-
queue.push(2, 3); // Priority 3
10-
queue.push(3, 2); // Priority 2
7+
queue.push(1, 1); // Priority 1
8+
queue.push(2, 3); // Priority 3
9+
queue.push(3, 2); // Priority 2
1110

12-
expect(await queue.shift()).toBe(2); // Highest priority
13-
expect(await queue.shift()).toBe(3); // Next highest priority
14-
expect(await queue.shift()).toBe(1); // Lowest priority
15-
});
11+
expect(await queue.shift()).toBe(2); // Highest priority
12+
expect(await queue.shift()).toBe(3); // Next highest priority
13+
expect(await queue.shift()).toBe(1); // Lowest priority
14+
});
1615

17-
it('should handle async iteration', async () => {
18-
const queue = new PQueue<number>();
16+
test('handles async iteration', async () => {
17+
const queue = new PQueue<number>();
1918

20-
queue.push(1, 1);
21-
queue.push(2, 2);
22-
queue.push(3, 3);
19+
queue.push(1, 1);
20+
queue.push(2, 2);
21+
queue.push(3, 3);
2322

24-
const results: number[] = [];
25-
for await (const item of queue) {
26-
results.push(item);
27-
if (results.length === 3) break;
28-
}
23+
const results: number[] = [];
24+
for await (const item of queue) {
25+
results.push(item);
26+
if (results.length === 3) break;
27+
}
2928

30-
expect(results).toEqual([3, 2, 1]);
31-
});
29+
expect(results).toEqual([3, 2, 1]);
30+
});
3231

33-
it('should resolve pending shifts when items are added', async () => {
34-
const queue = new PQueue<number>();
32+
test('resolves pending shifts when items are added', async () => {
33+
const queue = new PQueue<number>();
3534

36-
const shiftPromise = queue.shift();
37-
queue.push(42, 1);
35+
const shiftPromise = queue.shift();
36+
queue.push(42, 1);
3837

39-
expect(await shiftPromise).toBe(42);
40-
});
38+
expect(await shiftPromise).toBe(42);
39+
});
4140

42-
it('should throw an error when pushing to a closed queue', () => {
43-
const queue = new PQueue<number>();
44-
queue.close();
41+
test('throws an error when pushing to a closed queue', () => {
42+
const queue = new PQueue<number>();
43+
queue.close();
4544

46-
expect(() => queue.push(1)).toThrow('Queue closed');
47-
});
45+
expect(() => queue.push(1)).toThrow('Queue closed');
46+
});
4847

49-
it('should throw an error when shifting from a closed queue', async () => {
50-
const queue = new PQueue<number>();
51-
queue.close();
48+
test('throws an error when shifting from a closed queue', async () => {
49+
const queue = new PQueue<number>();
50+
queue.close();
5251

53-
await expect(queue.shift()).rejects.toThrow('Queue closed');
54-
});
52+
await expect(queue.shift()).rejects.toThrow('Queue closed');
53+
});
5554

56-
it('should keep unconsumed messages after consumer restart', async () => {
57-
const queue = new PQueue<number>();
55+
test('keeps unconsumed messages after consumer restart', async () => {
56+
const queue = new PQueue<number>();
5857

59-
const shiftPromise = queue.shift();
60-
queue.restartConsumer();
61-
queue.push(1, 1);
62-
queue.push(2, 2);
58+
const shiftPromise = queue.shift();
59+
queue.restartConsumer();
60+
queue.push(1, 1);
61+
queue.push(2, 2);
6362

64-
await expect(shiftPromise).rejects.toThrow('Consumer restarted');
63+
await expect(shiftPromise).rejects.toThrow('Consumer restarted');
6564

66-
expect(queue.size).toBe(2);
67-
expect(await queue.shift()).toBe(2);
68-
expect(await queue.shift()).toBe(1);
69-
expect(queue.size).toBe(0);
70-
});
65+
expect(queue.size).toBe(2);
66+
expect(await queue.shift()).toBe(2);
67+
expect(await queue.shift()).toBe(1);
68+
expect(queue.size).toBe(0);
7169
});

0 commit comments

Comments
 (0)