import { EventEmitter } from 'events'; import { getFreePort } from "./port"; let newPort = 0; jest.mock("net", () => { return { createServer() { return new class MockServer extends EventEmitter { listen = jest.fn(() => { this.emit('listening'); return this; }); address = () => { newPort = Math.round(Math.random() * 10000); return { port: newPort }; }; unref = jest.fn(); close = jest.fn(cb => cb()); }; }, }; }); describe("getFreePort", () => { it("finds the next free port", async () => { return expect(getFreePort()).resolves.toEqual(newPort); }); });