mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-28 03:30:52 +00:00
5efae3bee6
Configure chai and SandboxedModule globally instead of in every test file. Also add globals that are required for SandboxedModule to work in Node 12.
40 lines
791 B
JavaScript
40 lines
791 B
JavaScript
const chai = require('chai')
|
|
const sinon = require('sinon')
|
|
const sinonChai = require('sinon-chai')
|
|
const chaiAsPromised = require('chai-as-promised')
|
|
const SandboxedModule = require('sandboxed-module')
|
|
|
|
// Chai configuration
|
|
chai.should()
|
|
chai.use(sinonChai)
|
|
chai.use(chaiAsPromised)
|
|
|
|
// Global stubs
|
|
const sandbox = sinon.createSandbox()
|
|
const stubs = {
|
|
logger: {
|
|
log: sandbox.stub(),
|
|
warn: sandbox.stub(),
|
|
err: sandbox.stub(),
|
|
error: sandbox.stub(),
|
|
fatal: sandbox.stub()
|
|
}
|
|
}
|
|
|
|
// SandboxedModule configuration
|
|
SandboxedModule.configure({
|
|
requires: {
|
|
'logger-sharelatex': stubs.logger
|
|
},
|
|
globals: { Buffer, JSON, console, process }
|
|
})
|
|
|
|
exports.mochaHooks = {
|
|
beforeEach() {
|
|
this.logger = stubs.logger
|
|
},
|
|
|
|
afterEach() {
|
|
sandbox.reset()
|
|
}
|
|
}
|