overleaf/services/web/test/acceptance/src/Init.js

46 lines
984 B
JavaScript
Raw Normal View History

const App = require('../../../app.js')
const { exec } = require('child_process')
const { waitForDb } = require('../../../app/src/infrastructure/mongodb')
const { db } = require('../../../app/src/infrastructure/mongojs')
require('logger-sharelatex').logger.level('error')
before(waitForDb)
before(function(done) {
exec('bin/east migrate', (error, stdout, stderr) => {
console.log(stdout)
console.error(stderr)
if (error) {
throw error
}
App.listen(3000, 'localhost', done)
})
})
afterEach(function(done) {
db.getCollectionNames((error, names) => {
if (error) {
throw error
}
Promise.all(
names.map(name => {
return new Promise((resolve, reject) => {
db[name].remove({}, err => {
if (err) {
reject(err)
} else {
resolve()
}
})
})
})
).then(
() => done(),
err => {
throw err
}
)
})
})