Эх сурвалжийг харах

Add global test setup

Configure SanboxedModule and chai in a central place. Configure
SandboxedModule globals that are needed in Node 12.
Eric Mc Sween 5 жил өмнө
parent
commit
11261a0cb9

+ 3 - 0
services/spelling/.mocharc.json

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

+ 21 - 0
services/spelling/test/setup.js

@@ -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 }
+})

+ 2 - 9
services/spelling/test/unit/js/ASpellTests.js

@@ -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
     })
   })
 

+ 1 - 7
services/spelling/test/unit/js/ASpellWorkerTests.js

@@ -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() {}

+ 2 - 11
services/spelling/test/unit/js/LearnedWordsManagerTests.js

@@ -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()

+ 1 - 3
services/spelling/test/unit/js/SpellingAPIManagerTests.js

@@ -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,