2021-04-01 19:51:00 +00:00
|
|
|
const chai = require('chai')
|
|
|
|
const SandboxedModule = require('sandboxed-module')
|
|
|
|
const sinon = require('sinon')
|
|
|
|
|
|
|
|
// Chai configuration
|
|
|
|
chai.should()
|
2023-09-06 14:23:23 +00:00
|
|
|
// Load sinon-chai assertions so expect(stubFn).to.have.been.calledWith('abc')
|
|
|
|
// has a nicer failure messages
|
|
|
|
chai.use(require('sinon-chai'))
|
2021-04-01 19:51:00 +00:00
|
|
|
|
|
|
|
// Global stubs
|
|
|
|
const sandbox = sinon.createSandbox()
|
|
|
|
const stubs = {
|
|
|
|
logger: {
|
|
|
|
debug: sandbox.stub(),
|
|
|
|
log: sandbox.stub(),
|
|
|
|
warn: sandbox.stub(),
|
|
|
|
err: sandbox.stub(),
|
2021-07-13 11:04:42 +00:00
|
|
|
error: sandbox.stub(),
|
|
|
|
},
|
2021-04-01 19:51:00 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// SandboxedModule configuration
|
|
|
|
SandboxedModule.configure({
|
|
|
|
requires: {
|
2021-10-06 09:10:28 +00:00
|
|
|
'@overleaf/logger': stubs.logger,
|
2021-04-01 19:51:00 +00:00
|
|
|
},
|
2021-07-13 11:04:42 +00:00
|
|
|
globals: { Buffer, JSON, Math, console, process },
|
2021-04-01 19:51:00 +00:00
|
|
|
})
|
|
|
|
|
|
|
|
// Mocha hooks
|
|
|
|
exports.mochaHooks = {
|
|
|
|
beforeEach() {
|
|
|
|
this.logger = stubs.logger
|
|
|
|
},
|
|
|
|
|
|
|
|
afterEach() {
|
|
|
|
sandbox.reset()
|
2021-07-13 11:04:42 +00:00
|
|
|
},
|
2021-04-01 19:51:00 +00:00
|
|
|
}
|