fix: Prevent server from crashing if requested data can't be handled

This commit is contained in:
Joachim Van Herwegen
2020-07-13 10:41:10 +02:00
parent ea788ba406
commit ccd3f1738c
6 changed files with 31 additions and 5 deletions

View File

@@ -24,8 +24,9 @@ describe('ExpressHttpServer', (): void => {
let server: Server;
let canHandleJest: jest.Mock<Promise<void>, []>;
let handleJest: jest.Mock<Promise<void>, [any]>;
let handler: SimpleHttpHandler;
beforeEach(async(): Promise<void> => {
const handler = new SimpleHttpHandler();
handler = new SimpleHttpHandler();
canHandleJest = jest.fn(async(): Promise<void> => undefined);
handleJest = jest.fn(async(input): Promise<void> => handle(input));
@@ -74,4 +75,12 @@ describe('ExpressHttpServer', (): void => {
response: expect.objectContaining({}),
});
});
it('catches errors thrown by its handler.', async(): Promise<void> => {
handler.handle = async(): Promise<void> => {
throw new Error('dummyError');
};
const res = await request(server).get('/').expect(500);
expect(res.text).toContain('dummyError');
});
});