2024-07-15 07:10:48 -04:00
|
|
|
const sinon = require('sinon')
|
|
|
|
const SandboxedModule = require('sandboxed-module')
|
|
|
|
|
|
|
|
// ensure every ObjectId has the id string as a property for correct comparisons
|
|
|
|
require('mongodb').ObjectId.cacheHexString = true
|
|
|
|
|
|
|
|
const sandbox = sinon.createSandbox()
|
|
|
|
const stubs = {
|
|
|
|
logger: {
|
|
|
|
debug: sandbox.stub(),
|
|
|
|
log: sandbox.stub(),
|
|
|
|
info: sandbox.stub(),
|
|
|
|
warn: sandbox.stub(),
|
|
|
|
err: sandbox.stub(),
|
|
|
|
error: sandbox.stub(),
|
|
|
|
fatal: sandbox.stub(),
|
|
|
|
},
|
|
|
|
}
|
|
|
|
|
|
|
|
SandboxedModule.configure({
|
|
|
|
requires: {
|
|
|
|
'@overleaf/logger': stubs.logger,
|
|
|
|
},
|
2024-11-08 05:21:56 -05:00
|
|
|
sourceTransformers: {
|
|
|
|
removeNodePrefix: function (source) {
|
|
|
|
return source.replace(/require\(['"]node:/g, "require('")
|
|
|
|
},
|
|
|
|
},
|
2024-07-15 07:10:48 -04:00
|
|
|
})
|
|
|
|
|
|
|
|
exports.mochaHooks = {
|
|
|
|
beforeEach() {
|
|
|
|
this.logger = stubs.logger
|
|
|
|
},
|
|
|
|
|
|
|
|
afterEach() {
|
|
|
|
sandbox.reset()
|
|
|
|
},
|
|
|
|
}
|