diff --git a/server/src/database.ts b/server/src/database.ts index be83ed0038669bfc4f7d2db6513475a0850d2c76..e4c44713715ffa277a787df4b01a313731ca835c 100644 --- a/server/src/database.ts +++ b/server/src/database.ts @@ -5,7 +5,13 @@ import { environment } from './config'; import config from './knexconfig'; export const database = knex(config[environment]); -export const migrated = database.migrate.latest(); + +// Only after this promise resolves is the migration finished +export const ready = database.migrate.latest(); + +export function close() { + return database.destroy(); +} export default database; diff --git a/server/src/setupTests.ts b/server/src/setupTests.ts index 665fd55639e82fffe1b7cdcc666960fbc2540016..20e686c1320af010a337dc431e1df9b33daec878 100644 --- a/server/src/setupTests.ts +++ b/server/src/setupTests.ts @@ -1,3 +1,11 @@ -import './database'; +import { ready, close } from './database'; + +beforeAll(async () => { + await ready; +}); + +afterAll(async () => { + await close(); +}); diff --git a/server/src/v1/user.test.ts b/server/src/v1/user.test.ts index c9c59054a216e00ca9d347a930266576cc69c49f..2983bbd0636bcceee84e9c0980492c543cc3e460 100644 --- a/server/src/v1/user.test.ts +++ b/server/src/v1/user.test.ts @@ -1,14 +1,9 @@ import { api } from '../api'; -import { migrated } from '../database'; import supertest from 'supertest'; const request = supertest(api); -beforeAll(async () => { - await migrated; -}); - test('non existant username returns 404 for /v1/user/name/', async () => { const response = await request.get('/v1/user/name/__NO_REAL_NAME__'); expect(response.status).toEqual(404);