diff --git a/dredd.hooks.js b/dredd.hooks.js index 03f9c16..b48e497 100644 --- a/dredd.hooks.js +++ b/dredd.hooks.js @@ -1,10 +1,8 @@ // Import the neccesary modules. // @flow -import del from 'del' -import dotenv from 'dotenv' +import 'dotenv/config' // @flow-ignore import hooks from 'hooks' -import mkdirp from 'mkdirp' import pMap from 'p-map' import { createWriteStream } from 'fs' import { @@ -25,11 +23,22 @@ import { } from './src/models' import { name } from './package' -dotenv.config() process.env.TEMP_DIR = process.env.TEMP_DIR || join(...['tmp']) const tempDir = process.env.TEMP_DIR -const models = [] +const models = [{ + c: AnimeMovie, + m: new AnimeMovie(testAnimeMovie) +}, { + c: AnimeShow, + m: new AnimeShow(testAnimeShow) +}, { + c: Movie, + m: new Movie(testMovie) +}, { + c: Show, + m: new Show(testShow) +}] /** * The database middleware to connect to MongoDb. @@ -41,42 +50,25 @@ hooks.beforeAll((t, done) => { database = new Database(PopApi, { database: name }) - - del.sync([tempDir]) - mkdirp.sync(tempDir) createWriteStream(join(...[ tempDir, `${name}.log` ])).end() return database.connect().then(() => { - models.push({ - c: AnimeMovie, - m: new AnimeMovie(testAnimeMovie) - }, { - c: AnimeShow, - m: new AnimeShow(testAnimeShow) - }, { - c: Movie, - m: new Movie(testMovie) - }, { - c: Show, - m: new Show(testShow) - }) - return pMap(models, model => { return model.c.findOneAndUpdate({ _id: model.m.id }, model.m, { upsert: true, new: true - }).exec() - .then(res => hooks.log(`Inserted content: '${res.id}'`)) + }).then(res => hooks.log(`Inserted content: '${res.id}'`)) }) }).then(() => database.disconnect()) + .then(() => hooks.log('beforeAll: ok')) .then(() => done()) .catch(err => { - hooks.error(`Uhoh an error occurred during the beforeAll hook: '${err}'`) + hooks.error(`beforeAll: '${err}'`) done() }) }) @@ -86,14 +78,13 @@ hooks.afterAll((t, done) => { return pMap(models, model => { return model.c.findOneAndRemove({ _id: model.m.id - }, model.model).exec() - .then(res => hooks.log(`Removed content: '${res.id}'`)) + }).then(res => hooks.log(`Removed content: '${res.id}'`)) }) }).then(() => database.disconnect()) - .then(del.sync([tempDir])) - .then(done) + .then(() => hooks.log('afterAll: ok')) + .then(() => done()) .catch(err => { - hooks.error(`Uhoh an error occurred during the afterAll hook: '${err}'`) + hooks.error(`afterAll: '${err}'`) done() }) }) diff --git a/package.json b/package.json index 8bb0908..f436209 100644 --- a/package.json +++ b/package.json @@ -85,7 +85,7 @@ "providers": "babel-node ./src/index.js --providers", "start": "cross-env NODE_ENV=production node ./build/popcorn-api.js", "test": "npm run test-dredd && npm run test-mocha", - "test-dredd": "cross-env NODE_ENV=test babel-node ./node_modules/.bin/dredd", + "test-dredd": "cross-env NODE_ENV=test babel-node ./node_modules/dredd/bin/dredd", "test-mocha": "cross-env NODE_ENV=test nyc -r=lcov -r=text mocha --exit --recursive --timeout 10000" }, "bin": { diff --git a/rollup.config.js b/rollup.config.js index 032f7fb..d8d2a0a 100644 --- a/rollup.config.js +++ b/rollup.config.js @@ -14,6 +14,7 @@ export default { input: './src/index.js', external: [ ...Object.keys(dependencies), + 'cluster', 'fs', 'path' ],