Fix testcases

This commit is contained in:
2026-02-07 10:05:57 +05:30
parent 2b487defa8
commit 0e178a68d0
+12 -17
View File
@@ -1,7 +1,5 @@
const TaskScheduler = require('./async-scheduler'); const TaskScheduler = require('./async-scheduler');
// Suppress unhandled rejection warnings in tests
process.on('unhandledRejection', () => {});
describe('TaskScheduler', () => { describe('TaskScheduler', () => {
describe('constructor', () => { describe('constructor', () => {
@@ -34,6 +32,7 @@ describe('TaskScheduler', () => {
const scheduler = new TaskScheduler(); const scheduler = new TaskScheduler();
scheduler.play(); scheduler.play();
const promise = scheduler.addTask(() => Promise.reject(new Error('task failed'))); const promise = scheduler.addTask(() => Promise.reject(new Error('task failed')));
promise.catch(() => {}); // Prevent unhandled rejection
await expect(promise).rejects.toThrow('task failed'); await expect(promise).rejects.toThrow('task failed');
}); });
@@ -43,6 +42,7 @@ describe('TaskScheduler', () => {
const promise = scheduler.addTask(() => { const promise = scheduler.addTask(() => {
throw new Error('sync error'); throw new Error('sync error');
}); });
promise.catch(() => {}); // Prevent unhandled rejection
await expect(promise).rejects.toThrow('sync error'); await expect(promise).rejects.toThrow('sync error');
}); });
@@ -218,24 +218,19 @@ describe('TaskScheduler', () => {
expect(mockFn2).toHaveBeenCalled(); expect(mockFn2).toHaveBeenCalled();
}); });
// it('should pick next task even if current task rejects', async () => { it('should pick next task even if current task rejects', async () => {
// const scheduler = new TaskScheduler(1); const scheduler = new TaskScheduler(1);
// const mockFn2 = jest.fn(() => Promise.resolve()); const mockFn2 = jest.fn(() => Promise.resolve());
// const p1 = scheduler.addTask(() => Promise.reject(new Error("this should fail"))); scheduler.play();
// p1.catch(() => {}); // suppress unhandled rejection const p1 = scheduler.addTask(() => Promise.reject(new Error("this should fail")));
// scheduler.play(); p1.catch(() => {}); // suppress unhandled rejection
// try { const p2 = scheduler.addTask(mockFn2);
// await p1; await p2;
// } catch (e) {
// // expected
// }
// const p2 = scheduler.addTask(mockFn2);
// await p2; expect(mockFn2).toHaveBeenCalled();
// expect(mockFn2).toHaveBeenCalled(); });
// });
}); });
describe('edge cases', () => { describe('edge cases', () => {