From 468bc675699af2c6e10277461841c4005b003b69 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 16 Oct 2018 19:52:14 +0900 Subject: [PATCH] Improve test --- test/api.ts | 31 +++++++++++++++++++++---------- 1 file changed, 21 insertions(+), 10 deletions(-) diff --git a/test/api.ts b/test/api.ts index 3657a3947..c45a8ce1c 100644 --- a/test/api.ts +++ b/test/api.ts @@ -85,16 +85,27 @@ const uploadFile = async (user: any): Promise => { describe('API', () => { // Reset database each test - beforeEach(() => Promise.all([ - db.get('users').drop(), - db.get('posts').drop(), - db.get('driveFiles.files').drop(), - db.get('driveFiles.chunks').drop(), - db.get('driveFolders').drop(), - db.get('apps').drop(), - db.get('accessTokens').drop(), - db.get('authSessions').drop() - ])); + beforeEach(() => new Promise((res) => { + // APIがなにかレスポンスを返した後に、後処理を行う場合があり、 + // レスポンスを受け取ってすぐデータベースをリセットすると + // その後処理と競合し(テスト自体は合格するものの)エラーがコンソールに出力され + // 見た目的に気持ち悪くなるので、後処理が終るのを待つために500msくらい待ってから + // データベースをリセットするようにする + setTimeout(async () => { + await Promise.all([ + db.get('users').drop(), + db.get('posts').drop(), + db.get('driveFiles.files').drop(), + db.get('driveFiles.chunks').drop(), + db.get('driveFolders').drop(), + db.get('apps').drop(), + db.get('accessTokens').drop(), + db.get('authSessions').drop() + ]); + + res(); + }, 500); + })); describe('signup', () => { it('不正なユーザー名でアカウントが作成できない', async(async () => {