perf(test): remove timer callbacks in command queue tests

This commit is contained in:
Peter Steinberger
2026-02-18 21:53:57 +00:00
parent f3b7b51132
commit a011361784

View File

@@ -84,9 +84,12 @@ describe("command queue", () => {
vi.useFakeTimers(); vi.useFakeTimers();
try { try {
// First task holds the queue long enough to trigger wait notice. let releaseFirst!: () => void;
const blocker = new Promise<void>((resolve) => {
releaseFirst = resolve;
});
const first = enqueueCommand(async () => { const first = enqueueCommand(async () => {
await new Promise((resolve) => setTimeout(resolve, 8)); await blocker;
}); });
const second = enqueueCommand(async () => {}, { const second = enqueueCommand(async () => {}, {
@@ -97,7 +100,8 @@ describe("command queue", () => {
}, },
}); });
await vi.advanceTimersByTimeAsync(30); await vi.advanceTimersByTimeAsync(6);
releaseFirst();
await Promise.all([first, second]); await Promise.all([first, second]);
expect(waited).not.toBeNull(); expect(waited).not.toBeNull();
@@ -144,9 +148,9 @@ describe("command queue", () => {
try { try {
const drainPromise = waitForActiveTasks(5000); const drainPromise = waitForActiveTasks(5000);
// Resolve the blocker after a short delay. await vi.advanceTimersByTimeAsync(50);
setTimeout(() => resolve1(), 10); resolve1();
await vi.advanceTimersByTimeAsync(100); await vi.advanceTimersByTimeAsync(50);
const { drained } = await drainPromise; const { drained } = await drainPromise;
expect(drained).toBe(true); expect(drained).toBe(true);