From c06f297c478ee0b818ae8ff41e0d2bde18430da3 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 3 Apr 2018 13:03:37 +0900 Subject: [PATCH] Use typescript in tests --- gulpfile.ts | 4 ++-- test/{api.js => api.ts} | 38 ++++++++++++-------------------------- test/{text.js => text.ts} | 0 3 files changed, 14 insertions(+), 28 deletions(-) rename test/{api.js => api.ts} (97%) rename test/{text.js => text.ts} (100%) diff --git a/gulpfile.ts b/gulpfile.ts index f372ed299..fe3b04023 100644 --- a/gulpfile.ts +++ b/gulpfile.ts @@ -91,8 +91,8 @@ gulp.src('./src/**/*.ts') gulp.task('mocha', () => gulp.src([]) .pipe(mocha({ - exit: true - //compilers: 'ts:ts-node/register' + exit: true, + compilers: 'ts:ts-node/register' } as any)) ); diff --git a/test/api.js b/test/api.ts similarity index 97% rename from test/api.js rename to test/api.ts index 98d3f2faf..c794869e4 100644 --- a/test/api.js +++ b/test/api.ts @@ -2,6 +2,8 @@ * API TESTS */ +import * as merge from 'object-assign-deep'; + Error.stackTraceLimit = Infinity; // During the test the env variable is set to test @@ -28,7 +30,7 @@ const async = fn => (done) => { }); }; -const request = (endpoint, params, me) => new Promise((ok, ng) => { +const request = (endpoint, params, me?) => new Promise((ok, ng) => { const auth = me ? { i: me.account.token } : {}; @@ -1126,24 +1128,8 @@ describe('API', () => { }); }); -function deepAssign(destination, ...sources) { - for (const source of sources) { - for (const key in source) { - const destinationChild = destination[key]; - - if (typeof destinationChild === 'object' && destinationChild != null) { - deepAssign(destinationChild, source[key]); - } else { - destination[key] = source[key]; - } - } - } - - return destination; -} - -function insertSakurako(opts) { - return db.get('users').insert(deepAssign({ +function insertSakurako(opts?) { + return db.get('users').insert(merge({ username: 'sakurako', usernameLower: 'sakurako', account: { @@ -1157,8 +1143,8 @@ function insertSakurako(opts) { }, opts)); } -function insertHimawari(opts) { - return db.get('users').insert(deepAssign({ +function insertHimawari(opts?) { + return db.get('users').insert(merge({ username: 'himawari', usernameLower: 'himawari', account: { @@ -1172,7 +1158,7 @@ function insertHimawari(opts) { }, opts)); } -function insertDriveFile(opts) { +function insertDriveFile(opts?) { return db.get('driveFiles.files').insert({ length: opts.datasize, filename: 'strawberry-pasta.png', @@ -1180,15 +1166,15 @@ function insertDriveFile(opts) { }); } -function insertDriveFolder(opts) { - return db.get('driveFolders').insert(deepAssign({ +function insertDriveFolder(opts?) { + return db.get('driveFolders').insert(merge({ name: 'my folder', parentId: null }, opts)); } -function insertApp(opts) { - return db.get('apps').insert(deepAssign({ +function insertApp(opts?) { + return db.get('apps').insert(merge({ name: 'my app', secret: 'mysecret' }, opts)); diff --git a/test/text.js b/test/text.ts similarity index 100% rename from test/text.js rename to test/text.ts