fixed all tests

This commit is contained in:
Boki 2025-06-26 17:30:13 -04:00
parent 08f713d98b
commit bd26ecf3bc
11 changed files with 457 additions and 794 deletions

View file

@ -33,7 +33,7 @@ describe('Shutdown', () => {
it('should register high priority handler', () => {
const handler = mock(async () => {});
shutdown.onShutdownHigh(handler, 'High Priority Task');
shutdown.onShutdown(handler, 10, 'High Priority Task');
expect(shutdown['callbacks']).toHaveLength(1);
expect(shutdown['callbacks'][0].name).toBe('High Priority Task');
@ -43,7 +43,7 @@ describe('Shutdown', () => {
it('should register medium priority handler', () => {
const handler = mock(async () => {});
shutdown.onShutdownMedium(handler, 'Medium Priority Task');
shutdown.onShutdown(handler, 50, 'Medium Priority Task');
expect(shutdown['callbacks']).toHaveLength(1);
expect(shutdown['callbacks'][0].priority).toBe(50);
@ -52,7 +52,7 @@ describe('Shutdown', () => {
it('should register low priority handler', () => {
const handler = mock(async () => {});
shutdown.onShutdownLow(handler, 'Low Priority Task');
shutdown.onShutdown(handler, 90, 'Low Priority Task');
expect(shutdown['callbacks']).toHaveLength(1);
expect(shutdown['callbacks'][0].priority).toBe(90);
@ -63,9 +63,9 @@ describe('Shutdown', () => {
const handler2 = mock(async () => {});
const handler3 = mock(async () => {});
shutdown.onShutdownHigh(handler1, 'First');
shutdown.onShutdownHigh(handler2, 'Second');
shutdown.onShutdownHigh(handler3, 'Third');
shutdown.onShutdown(handler1, 10, 'First');
shutdown.onShutdown(handler2, 10, 'Second');
shutdown.onShutdown(handler3, 10, 'Third');
expect(shutdown['callbacks']).toHaveLength(3);
expect(shutdown['callbacks'][0].name).toBe('First');
@ -89,9 +89,9 @@ describe('Shutdown', () => {
executionOrder.push('low');
});
shutdown.onShutdownLow(lowHandler, 'Low');
shutdown.onShutdownMedium(mediumHandler, 'Medium');
shutdown.onShutdownHigh(highHandler, 'High');
shutdown.onShutdown(lowHandler, 90, 'Low');
shutdown.onShutdown(mediumHandler, 50, 'Medium');
shutdown.onShutdown(highHandler, 10, 'High');
await shutdown.shutdown();
@ -100,7 +100,7 @@ describe('Shutdown', () => {
it('should only shutdown once', async () => {
const handler = mock(async () => {});
shutdown.onShutdownHigh(handler, 'Handler');
shutdown.onShutdown(handler, 10, 'Handler');
await shutdown.shutdown();
await shutdown.shutdown(); // Second call should be ignored
@ -115,8 +115,8 @@ describe('Shutdown', () => {
const successHandler = mock(async () => {});
shutdown.onShutdownHigh(errorHandler, 'Error Handler');
shutdown.onShutdownHigh(successHandler, 'Success Handler');
shutdown.onShutdown(errorHandler, 10, 'Error Handler');
shutdown.onShutdown(successHandler, 10, 'Success Handler');
await shutdown.shutdown();
@ -130,10 +130,10 @@ describe('Shutdown', () => {
});
shutdown = Shutdown.getInstance({ timeout: 100 });
shutdown.onShutdownHigh(slowHandler, 'Slow Handler');
shutdown.onShutdown(slowHandler, 10, 'Slow Handler');
const start = Date.now();
await shutdown.shutdown();
await expect(shutdown.shutdown()).rejects.toThrow('Shutdown timeout');
const duration = Date.now() - start;
// Shutdown waits for timeout (100ms) plus some processing time
@ -144,9 +144,9 @@ describe('Shutdown', () => {
describe('reset', () => {
it('should clear all handlers', () => {
shutdown.onShutdownHigh(async () => {}, 'Handler 1');
shutdown.onShutdownMedium(async () => {}, 'Handler 2');
shutdown.onShutdownLow(async () => {}, 'Handler 3');
shutdown.onShutdown(async () => {}, 10, 'Handler 1');
shutdown.onShutdown(async () => {}, 50, 'Handler 2');
shutdown.onShutdown(async () => {}, 90, 'Handler 3');
// Manually clear callbacks to simulate reset
shutdown['callbacks'] = [];
@ -157,14 +157,14 @@ describe('Shutdown', () => {
it('should reset shutdown state', async () => {
const handler = mock(async () => {});
shutdown.onShutdownHigh(handler, 'Handler');
shutdown.onShutdown(handler, 10, 'Handler');
await shutdown.shutdown();
// Reset by creating new instance
(Shutdown as any).instance = null;
shutdown = Shutdown.getInstance({ timeout: 1000 });
shutdown.onShutdownHigh(handler, 'Handler');
shutdown.onShutdown(handler, 10, 'Handler');
await shutdown.shutdown();
expect(handler).toHaveBeenCalledTimes(2);