I inherited the below Jest test using Supertest. It's supposed to mock a server to quickly test basic functionality. However the server = require('../index'); is returning undefined.
What is the way to correctly mock these endpoints and test for 200 & 404 responses?
import http from 'http';
import request from 'supertest';
const original = console.log;
describe('should start the server', () => {
let server: http.Server;
beforeEach(async () => {
console.log = jest.fn();
// eslint-disable-next-line global-require
server = await require('../index');
});
afterEach(() => {
console.log = original;
server.close();
});
it('responds to /', (done) => {
request(server).get('/').expect(200, done);
});
it('404 everything else', (done) => {
request(server).get('/dontexist').expect(404, done);
});
});