module PgMock { const pg: any = {} const query = jest.fn(() => ({ rows: [ { a: "string", b: 1, }, ], })) // constructor function Client() { } Client.prototype.query = query Client.prototype.connect = jest.fn() Client.prototype.release = jest.fn() function Pool() { } const on = jest.fn() Pool.prototype.query = query Pool.prototype.connect = jest.fn(() => { // @ts-ignore return new Client() }) Pool.prototype.on = on pg.Client = Client pg.Pool = Pool pg.queryMock = query pg.on = on module.exports = pg }