From a3f054f95d7296f3996e0668f5021d66fe0b8ce2 Mon Sep 17 00:00:00 2001 From: Christiaan Maks Date: Fri, 24 Mar 2017 21:10:29 +0100 Subject: [PATCH 1/5] Update package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index efbac4fa..d348e937 100644 --- a/package.json +++ b/package.json @@ -87,6 +87,7 @@ "husky": "^0.13.1", "istanbul": "1.1.0-alpha.1", "mocha": "3.2.0", + "mockgoose": "^7.0.7", "run-sequence": "^1.1.5", "supertest": "2.0.1", "supertest-as-promised": "4.0.2", From 4079211cec4e5144bc58eaae1219afa96629d873 Mon Sep 17 00:00:00 2001 From: Christiaan Maks Date: Fri, 24 Mar 2017 21:11:40 +0100 Subject: [PATCH 2/5] Update index.js --- index.js | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/index.js b/index.js index 7bd9ba17..4e31e667 100644 --- a/index.js +++ b/index.js @@ -1,4 +1,5 @@ import mongoose from 'mongoose'; +import { Mockgoose } from 'mockgoose'; import util from 'util'; // config should be imported before importing any other file @@ -15,7 +16,17 @@ mongoose.Promise = Promise; // connect to mongo db const mongoUri = `${config.mongo.host}:${config.mongo.port}`; -mongoose.connect(mongoUri, { server: { socketOptions: { keepAlive: 1 } } }); + +if (process.env.NODE_ENV === 'test') { + const mockgoose = new Mockgoose(mongoose); + + mockgoose.prepareStorage().then(function () { + mongoose.connect('mongodb://example.com/test-db'); + }) +} else { + mongoose.connect(mongoUri, { server: { socketOptions: { keepAlive: 1 } } }); +} + mongoose.connection.on('error', () => { throw new Error(`unable to connect to database: ${config.db}`); }); From 91344b4ced7a541c4a3c576b83a92b69083c19a3 Mon Sep 17 00:00:00 2001 From: Christiaan Maks Date: Fri, 24 Mar 2017 21:13:09 +0100 Subject: [PATCH 3/5] Update user.test.js --- server/tests/user.test.js | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/server/tests/user.test.js b/server/tests/user.test.js index 351f4e03..2347bb0f 100644 --- a/server/tests/user.test.js +++ b/server/tests/user.test.js @@ -1,4 +1,3 @@ -import mongoose from 'mongoose'; import request from 'supertest-as-promised'; import httpStatus from 'http-status'; import chai, { expect } from 'chai'; @@ -6,17 +5,6 @@ import app from '../../index'; chai.config.includeStack = true; -/** - * root level hooks - */ -after((done) => { - // required because https://github.com/Automattic/mongoose/issues/1251#issuecomment-65793092 - mongoose.models = {}; - mongoose.modelSchemas = {}; - mongoose.connection.close(); - done(); -}); - describe('## User APIs', () => { let user = { username: 'KK123', From 62c763fc6c54b387959afb5726bb64ad5fd5b709 Mon Sep 17 00:00:00 2001 From: Christiaan Maks Date: Fri, 24 Mar 2017 21:14:07 +0100 Subject: [PATCH 4/5] Update package.json --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index d348e937..739392d4 100644 --- a/package.json +++ b/package.json @@ -17,9 +17,9 @@ "lint": "esw *.js server config --color", "lint:watch": "yarn lint -- --watch", "precommit": "yarn lint && yarn test", - "test": "cross-env NODE_ENV=test ./node_modules/.bin/mocha --ui bdd --reporter spec --colors --compilers js:babel-core/register server/tests --recursive", + "test": "cross-env NODE_ENV=test ./node_modules/.bin/mocha --timeout 12000 --ui bdd --reporter spec --colors --compilers js:babel-core/register server/tests --recursive", "test:watch": "yarn test -- --watch", - "test:coverage": "cross-env NODE_ENV=test ./node_modules/.bin/istanbul cover _mocha -- --ui bdd --reporter spec --colors --compilers js:babel-core/register server/tests --recursive", + "test:coverage": "cross-env NODE_ENV=test ./node_modules/.bin/istanbul cover _mocha -- --timeout 12000 --ui bdd --reporter spec --colors --compilers js:babel-core/register server/tests --recursive", "test:check-coverage": "yarn test:coverage && istanbul check-coverage", "report-coverage": "coveralls < ./coverage/lcov.info" }, From 6ed47ab7cb5d97112f23fc4017ddfdd2b30fe864 Mon Sep 17 00:00:00 2001 From: Christiaan Maks Date: Fri, 24 Mar 2017 21:31:43 +0100 Subject: [PATCH 5/5] Update index.js --- index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/index.js b/index.js index 4e31e667..5c7b0cb2 100644 --- a/index.js +++ b/index.js @@ -20,9 +20,9 @@ const mongoUri = `${config.mongo.host}:${config.mongo.port}`; if (process.env.NODE_ENV === 'test') { const mockgoose = new Mockgoose(mongoose); - mockgoose.prepareStorage().then(function () { + mockgoose.prepareStorage().then(() => { mongoose.connect('mongodb://example.com/test-db'); - }) + }); } else { mongoose.connect(mongoUri, { server: { socketOptions: { keepAlive: 1 } } }); }