diff --git a/services/notifications/.mocharc.json b/services/notifications/.mocharc.json new file mode 100644 index 0000000000..dc3280aa96 --- /dev/null +++ b/services/notifications/.mocharc.json @@ -0,0 +1,3 @@ +{ + "require": "test/setup.js" +} diff --git a/services/notifications/.nvmrc b/services/notifications/.nvmrc index 2baa2d433a..e68b860383 100644 --- a/services/notifications/.nvmrc +++ b/services/notifications/.nvmrc @@ -1 +1 @@ -10.23.1 +12.21.0 diff --git a/services/notifications/Dockerfile b/services/notifications/Dockerfile index 2da67d2436..4f417a2a4b 100644 --- a/services/notifications/Dockerfile +++ b/services/notifications/Dockerfile @@ -2,7 +2,7 @@ # Instead run bin/update_build_scripts from # https://github.com/sharelatex/sharelatex-dev-environment -FROM node:10.23.1 as base +FROM node:12.21.0 as base WORKDIR /app diff --git a/services/notifications/Makefile b/services/notifications/Makefile index 7ecedd2ab1..2332aeb439 100644 --- a/services/notifications/Makefile +++ b/services/notifications/Makefile @@ -21,8 +21,10 @@ DOCKER_COMPOSE_TEST_UNIT = \ COMPOSE_PROJECT_NAME=test_unit_$(BUILD_DIR_NAME) $(DOCKER_COMPOSE) clean: - docker rmi ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) - docker rmi gcr.io/overleaf-ops/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) + -docker rmi ci/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) + -docker rmi gcr.io/overleaf-ops/$(PROJECT_NAME):$(BRANCH_NAME)-$(BUILD_NUMBER) + -$(DOCKER_COMPOSE_TEST_UNIT) down --rmi local + -$(DOCKER_COMPOSE_TEST_ACCEPTANCE) down --rmi local format: $(DOCKER_COMPOSE) run --rm test_unit npm run --silent format diff --git a/services/notifications/buildscript.txt b/services/notifications/buildscript.txt index 8d5b415e88..72c96faed9 100644 --- a/services/notifications/buildscript.txt +++ b/services/notifications/buildscript.txt @@ -3,6 +3,6 @@ notifications --docker-repos=gcr.io/overleaf-ops --env-add= --env-pass-through= ---node-version=10.23.1 +--node-version=12.21.0 --public-repo=True ---script-version=3.4.0 +--script-version=3.7.0 diff --git a/services/notifications/docker-compose.yml b/services/notifications/docker-compose.yml index 8be027dba1..1a8d6095ee 100644 --- a/services/notifications/docker-compose.yml +++ b/services/notifications/docker-compose.yml @@ -6,7 +6,7 @@ version: "2.3" services: test_unit: - image: node:10.23.1 + image: node:12.21.0 volumes: - .:/app working_dir: /app @@ -18,7 +18,7 @@ services: user: node test_acceptance: - image: node:10.23.1 + image: node:12.21.0 volumes: - .:/app working_dir: /app diff --git a/services/notifications/test/setup.js b/services/notifications/test/setup.js new file mode 100644 index 0000000000..9ebe599cea --- /dev/null +++ b/services/notifications/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 } +}) diff --git a/services/notifications/test/unit/js/NotificationsControllerTest.js b/services/notifications/test/unit/js/NotificationsControllerTest.js index 7ee78b6c5b..e63b83b9fb 100644 --- a/services/notifications/test/unit/js/NotificationsControllerTest.js +++ b/services/notifications/test/unit/js/NotificationsControllerTest.js @@ -11,8 +11,6 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const sinon = require('sinon') -const chai = require('chai') -const should = chai.should() const modulePath = '../../../app/js/NotificationsController.js' const SandboxedModule = require('sandboxed-module') const assert = require('assert') @@ -27,7 +25,6 @@ describe('Notifications Controller', function () { this.notifications = {} this.controller = SandboxedModule.require(modulePath, { requires: { - 'logger-sharelatex': { log() {} }, './Notifications': this.notifications, '@overleaf/metrics': { inc: sinon.stub() diff --git a/services/notifications/test/unit/js/NotificationsTests.js b/services/notifications/test/unit/js/NotificationsTests.js index 426aa706da..7d2b89a26e 100644 --- a/services/notifications/test/unit/js/NotificationsTests.js +++ b/services/notifications/test/unit/js/NotificationsTests.js @@ -13,9 +13,7 @@ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md */ const sinon = require('sinon') -const chai = require('chai') -const expect = chai.should -const should = chai.should() +const { expect } = require('chai') const modulePath = '../../../app/js/Notifications.js' const SandboxedModule = require('sandboxed-module') const assert = require('assert') @@ -43,16 +41,9 @@ describe('Notifications Tests', function () { this.notifications = SandboxedModule.require(modulePath, { requires: { - 'logger-sharelatex': { - log() {}, - error() {} - }, 'settings-sharelatex': {}, './mongodb': { db: this.db, ObjectId }, '@overleaf/metrics': { timeAsyncMethod: sinon.stub() } - }, - globals: { - console } }) @@ -109,7 +100,7 @@ describe('Notifications Tests', function () { user_id, this.stubbedNotification, (err) => { - expect(err).not.exists + expect(err).not.to.exist sinon.assert.calledWith( this.updateOneStub, this.expectedQuery, @@ -131,7 +122,7 @@ describe('Notifications Tests', function () { user_id, this.stubbedNotification, (err) => { - expect(err).not.exists + expect(err).not.to.exist sinon.assert.notCalled(this.updateOneStub) return done() } @@ -144,7 +135,7 @@ describe('Notifications Tests', function () { user_id, this.stubbedNotification, (err) => { - expect(err).not.exists + expect(err).not.to.exist sinon.assert.calledWith( this.updateOneStub, this.expectedQuery, @@ -184,7 +175,7 @@ describe('Notifications Tests', function () { user_id, this.stubbedNotification, (err) => { - expect(err).not.exists + expect(err).not.to.exist sinon.assert.calledWith( this.updateOneStub, this.expectedQuery,