fixed all tests
This commit is contained in:
parent
08f713d98b
commit
bd26ecf3bc
11 changed files with 457 additions and 794 deletions
|
|
@ -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);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue