Add global test setup

Configure SanboxedModule and chai in a central place. Configure
SandboxedModule globals that are needed in Node 12.
This commit is contained in:
Eric Mc Sween 2021-03-19 16:04:30 -04:00
parent f534ace5b3
commit 11261a0cb9
6 changed files with 30 additions and 30 deletions

View file

@ -0,0 +1,3 @@
{
"require": "test/setup.js"
}

View file

@ -0,0 +1,21 @@
const chai = require('chai')
const SandboxedModule = require('sandboxed-module')
// Chai configuration
chai.should()
// SandboxedModule configuration
SandboxedModule.configure({
requires: {
'logger-sharelatex': {
debug() {},
log() {},
info() {},
warn() {},
err() {},
error() {},
fatal() {}
}
},
globals: { Buffer, JSON, console, process }
})

View file

@ -9,20 +9,13 @@
* DS102: Remove unnecessary code created because of implicit returns
* Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
*/
const chai = require('chai')
const should = chai.should()
const { expect, assert } = require('chai')
const SandboxedModule = require('sandboxed-module')
const { assert } = require('chai')
describe('ASpell', function () {
beforeEach(function () {
return (this.ASpell = SandboxedModule.require('../../../app/js/ASpell', {
requires: {
'logger-sharelatex': {
log() {},
info() {},
err() {}
},
'@overleaf/metrics': {
gauge() {},
inc() {}
@ -93,7 +86,7 @@ describe('ASpell', function () {
})
return it('should return an error', function () {
return should.exist(this.error)
return expect(this.error).to.exist
})
})

View file

@ -3,8 +3,7 @@
no-undef
*/
const sinon = require('sinon')
const chai = require('chai')
const { expect } = chai
const { expect } = require('chai')
const SandboxedModule = require('sandboxed-module')
const EventEmitter = require('events')
@ -15,11 +14,6 @@ describe('ASpellWorker', function () {
'../../../app/js/ASpellWorker',
{
requires: {
'logger-sharelatex': {
log() {},
info() {},
err() {}
},
'@overleaf/metrics': {
gauge() {},
inc() {}

View file

@ -1,12 +1,11 @@
const sinon = require('sinon')
const chai = require('chai')
const { expect } = chai
const { assert, expect } = require('chai')
const SandboxedModule = require('sandboxed-module')
const modulePath = require('path').join(
__dirname,
'../../../app/js/LearnedWordsManager'
)
const { assert } = require('chai')
describe('LearnedWordsManager', function () {
beforeEach(function () {
this.token = 'a6b3cd919ge'
@ -22,17 +21,9 @@ describe('LearnedWordsManager', function () {
del: sinon.stub()
}
this.LearnedWordsManager = SandboxedModule.require(modulePath, {
globals: {
console: console
},
requires: {
'./mongodb': { db: this.db },
'./MongoCache': this.cache,
'logger-sharelatex': {
log() {},
err() {},
info() {}
},
'@overleaf/metrics': {
timeAsyncMethod: sinon.stub(),
inc: sinon.stub()

View file

@ -2,9 +2,7 @@
handle-callback-err
*/
const sinon = require('sinon')
const chai = require('chai')
const { expect } = chai
chai.should()
const { expect } = require('chai')
const SandboxedModule = require('sandboxed-module')
const modulePath = require('path').join(
__dirname,