overleaf/services/docstore/test/setup.js
Eric Mc Sween f397d79439 Merge pull request #15648 from overleaf/em-promisify-doc-manager
Promisify DocManager

GitOrigin-RevId: c9ab368086492900e1617d5d96943d405f25883d
2023-11-09 09:03:10 +00:00

46 lines
972 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')
const timersPromises = require('timers/promises')
process.env.BACKEND = 'gcs'
// Chai configuration
chai.should()
chai.use(sinonChai)
chai.use(chaiAsPromised)
// Global stubs
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 configuration
SandboxedModule.configure({
requires: {
'@overleaf/logger': stubs.logger,
'timers/promises': timersPromises,
},
globals: { Buffer, JSON, Math, console, process },
})
exports.mochaHooks = {
beforeEach() {
this.logger = stubs.logger
},
afterEach() {
sandbox.reset()
},
}