From d785f864d664886e2c70b62415670fb93fcd5f03 Mon Sep 17 00:00:00 2001 From: Roland Bernard <rolbernard@unibz.it> Date: Sun, 23 May 2021 13:45:50 +0200 Subject: [PATCH] The test teardow is now working correctly --- server/src/database.ts | 8 +++++++- server/src/setupTests.ts | 10 +++++++++- server/src/v1/user.test.ts | 5 ----- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/server/src/database.ts b/server/src/database.ts index be83ed0..e4c4471 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 665fd55..20e686c 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 c9c5905..2983bbd 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); -- GitLab