import supertest from 'supertest'; import should from 'should/as-function'; import db from '../db'; describe('/', () => { let server; before(done => { process.env.port = '2999'; db.connect('test', done); }); beforeEach(done => { delete require.cache[require.resolve('../index')]; // prevent loading from cache server = require('../index'); db.drop(err => { // reset database if (err) return done(err); db.loadJson(require('../test/db.json'), done); }); }); afterEach(done => { server.close(done); }); it('returns the root message', done => { supertest(server) .get('/') .expect('Content-type', /json/) .expect(200, (err, res) => { should(res.body).be.eql({message: 'API server up and running!'}); done(); }); }); }); describe('Testing unknown routes', () => { let server; before(done => { db.connect('test', done); }); beforeEach(done => { delete require.cache[require.resolve('../index')]; // prevent loading from cache server = require('../index'); db.drop(err => { // reset database if (err) return done(err); db.loadJson(require('../test/db.json'), done); }); }); afterEach(done => { server.close(done); }); it('returns a 404 message', done => { supertest(server) .get('/unknownroute') .expect(404); done(); }); });