import App, {Get, Resource} from "./app"; import { MockServer } from "./server"; import { Opts, IServer } from "./app"; describe('(App)', () => { it ('should take a http server for running locally', () => { expect.assertions(3); @Resource("my-resource") class MyApp extends App { init() { this.myEndpoint(); } @Get({ path: "/message/{id}" }) myEndpoint() { return this.registerHandler("test", ''); } } const mockServer = new MockServer({ host: '0.0.0.0', port: 8080 }); mockServer.run = jest.fn().mockReturnValue(Promise.resolve()); mockServer.addRoutes = jest.fn().mockReturnValue(Promise.resolve()); const app = new MyApp(mockServer, { stage: 'test', service: 'test', type: '', }); app.init(); return app.run().then((test) => { expect(mockServer.run).toHaveBeenCalled(); expect(mockServer.addRoutes).toHaveBeenCalled(); expect(app.getResource()).toEqual('my-resource'); }).catch(console.error); }); });