mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-14 06:03:45 +01:00
[web] use a global shared mock for the metrics module (#32799)
GitOrigin-RevId: 72874ba6c06c2a602b01cc029bc9c71ce3ce8892
This commit is contained in:
@@ -2,6 +2,7 @@ import { afterEach, beforeEach, chai, vi } from 'vitest'
|
||||
import 'sinon-mongoose'
|
||||
import sinon from 'sinon'
|
||||
import logger from '@overleaf/logger'
|
||||
import Metrics from '@overleaf/metrics'
|
||||
import sinonChai from 'sinon-chai'
|
||||
import chaiAsPromised from 'chai-as-promised'
|
||||
import mongoose from 'mongoose'
|
||||
@@ -42,7 +43,23 @@ vi.mock('@overleaf/logger', async () => {
|
||||
// Mock metrics in unit tests, can be overridden
|
||||
vi.mock('@overleaf/metrics', () => {
|
||||
return {
|
||||
default: { prom: { Counter: vi.fn(), Histogram: vi.fn() } },
|
||||
default: {
|
||||
inc: sinon.stub(),
|
||||
count: sinon.stub(),
|
||||
timing: sinon.stub(),
|
||||
summary: sinon.stub(),
|
||||
gauge: sinon.stub(),
|
||||
Timer: class {
|
||||
constructor() {
|
||||
this.labels = {}
|
||||
}
|
||||
|
||||
done() {
|
||||
return 1
|
||||
}
|
||||
},
|
||||
prom: { Counter: sinon.stub(), Histogram: sinon.stub() },
|
||||
},
|
||||
}
|
||||
})
|
||||
|
||||
@@ -56,12 +73,14 @@ beforeEach(ctx => {
|
||||
}
|
||||
}
|
||||
ctx.logger = logger
|
||||
ctx.Metrics = Metrics
|
||||
})
|
||||
|
||||
afterEach(() => {
|
||||
vi.resetAllMocks()
|
||||
vi.resetModules()
|
||||
sinon.restore()
|
||||
sinon.resetHistory()
|
||||
const modelNames = mongoose.modelNames()
|
||||
modelNames.forEach(name => {
|
||||
delete mongoose.connection.models[name]
|
||||
|
||||
Reference in New Issue
Block a user