diff --git a/.travis.yml b/.travis.yml index c0ee75c..3176400 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,6 +6,9 @@ cache: directories: - "$HOME/.npm" +services: + - mongodb + install: - npm ci diff --git a/package.json b/package.json index 3d11787..b09e660 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,8 @@ "scripts": { "start": "node server.js", "dev": "nodemon server.js", - "test": "./node_modules/.bin/mocha --reporter spec" + "test": "./node_modules/.bin/mocha", + "test:watch": "./node_modules/.bin/mocha --reporter spec --watch" }, "repository": { "type": "git", diff --git a/src/utils/database.js b/src/utils/database.js index 6b8655c..eda7778 100644 --- a/src/utils/database.js +++ b/src/utils/database.js @@ -1,7 +1,7 @@ const mongoose = require('mongoose'); const logger = require('../utils/logger'); -mongoose.connect(process.env.DB_CONNECTION, { useNewUrlParser: true }); +mongoose.connect(process.env.DB_CONNECTION || 'mongodb://127.0.0.1:27017/restapilearn', { useNewUrlParser: true }); const db = mongoose.connection; diff --git a/test/database.spec.js b/test/database.spec.js new file mode 100644 index 0000000..aa2ab41 --- /dev/null +++ b/test/database.spec.js @@ -0,0 +1,63 @@ +const chai = require('chai'); +const expect = require("chai").expect; +const mongoose = require('mongoose'); + +// const db = require('../src/utils/database'); +const User = require('../src/models/user'); + +describe('test database', () => { + const url = 'mongodb://127.0.0.1:27017/test'; + let db; + + // before(async () => { + // db = mongoose.connect(url, { useNewUrlParser: true }); + // }); + + // beforeEach(() => { + // db = mongoose.connect(url, { useNewUrlParser: true }); + + // const fakeUser = { + // email: 'user@mail.com', + // password: 'super user password' + // }; + + // User.create(fakeUser, (err, res) => { + // if(err) { + // console.log('db seed User error: ', err); + // } + + // console.log('db seed User success: ', res); + // }) + // }); + + + + it('should fetch one user from db', async (done) => { + try { + db = mongoose.connect(url, { useNewUrlParser: true }); + const user = new User({ + email: 'user@mail.com', + password: 'super user password' + }); + + const result = await user.save(); + + const finded = await User.findOne({ email: 'user@mail.com' }); + + if(!finded) { + throw new Error('user not found'); + } + + console.log('user: ', finded) + done(); + } catch(err) { + console.log(err); + done(); + } + }) + + + after(() => { + //await mongoose.connection.collection.users.drop() + }) +}); \ No newline at end of file diff --git a/test/server.spec.js b/test/server.spec.js index 6b1a07d..81a379c 100644 --- a/test/server.spec.js +++ b/test/server.spec.js @@ -16,4 +16,4 @@ describe('app server', () =>{ done(); }) }); -}); \ No newline at end of file +});