mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
feat: Add App class to start and stop the server
This commit is contained in:
30
test/unit/init/final/ParallelFinalizer.test.ts
Normal file
30
test/unit/init/final/ParallelFinalizer.test.ts
Normal file
@@ -0,0 +1,30 @@
|
||||
import type { Finalizable } from '../../../../src/init/final/Finalizable';
|
||||
import { ParallelFinalizer } from '../../../../src/init/final/ParallelFinalizer';
|
||||
|
||||
describe('A ParallelFinalizer', (): void => {
|
||||
let finalizers: Finalizable[];
|
||||
let finalizer: ParallelFinalizer;
|
||||
let results: number[];
|
||||
|
||||
beforeEach(async(): Promise<void> => {
|
||||
results = [];
|
||||
finalizers = [
|
||||
{ finalize: jest.fn((): any => results.push(0)) },
|
||||
{ finalize: jest.fn((): any => results.push(1)) },
|
||||
];
|
||||
|
||||
finalizer = new ParallelFinalizer(finalizers);
|
||||
});
|
||||
|
||||
it('is finished when all finalizers are finished.', async(): Promise<void> => {
|
||||
await expect(finalizer.finalize()).resolves.toBeUndefined();
|
||||
expect(finalizers[0].finalize).toHaveBeenCalledTimes(1);
|
||||
expect(finalizers[1].finalize).toHaveBeenCalledTimes(1);
|
||||
expect(results).toEqual([ 0, 1 ]);
|
||||
});
|
||||
|
||||
it('works if there are no input finalizers.', async(): Promise<void> => {
|
||||
finalizer = new ParallelFinalizer();
|
||||
await expect(finalizer.finalize()).resolves.toBeUndefined();
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user