UNPKG

readme-metric-reporter-nestjs

Version:
42 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const testing_1 = require("@nestjs/testing"); const readme_metric_reporter_1 = require("readme-metric-reporter"); const request = require("supertest"); const metric_reporter_module_1 = require("./metric-reporter.module"); jest.mock('os', () => ({ ...jest.requireActual('os'), type: jest.fn().mockReturnValue('darwin'), release: jest.fn().mockReturnValue('10.0.0'), })); jest.useFakeTimers(); jest.setSystemTime(new Date('2022-01-01')); describe('MetricReporterModule', () => { let app; beforeAll(async () => { const moduleRef = await testing_1.Test.createTestingModule({ imports: [ metric_reporter_module_1.MetricReporterModule.register({ reporter: new readme_metric_reporter_1.MetricReporter('apiKey'), collector: { collect: (_req, _res, metric) => ({ ...metric, _id: '1' }), }, routes: ['*'], excludedRoutes: ['/health'], }), ], }).compile(); app = moduleRef.createNestApplication(); await app.listen(50000); }); afterAll(async () => { await app.close(); }); it('tracks a request', async () => { const report = jest.spyOn(readme_metric_reporter_1.MetricReporter.prototype, 'report'); report.mockImplementation(async () => { }); await request(app.getHttpServer()).post('/404').send({ ping: 'text' }); expect(report.mock.calls[0]?.[0]).toMatchSnapshot(); }); }); //# sourceMappingURL=metric-reporter.module.test.js.map