From 30ea4660b585f40b25bef9d532ce8d260a704a37 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 28 Feb 2017 01:26:56 +0900 Subject: [PATCH] Use TypeScript for tests --- package.json | 2 +- test/{api.js => api.ts} | 28 ++++++++++++---------------- test/{text.js => text.ts} | 0 3 files changed, 13 insertions(+), 17 deletions(-) rename test/{api.js => api.ts} (98%) rename test/{text.js => text.ts} (100%) diff --git a/package.json b/package.json index 5b625191e..3d504968f 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "clean": "gulp clean", "cleanall": "gulp cleanall", "lint": "gulp lint", - "test": "mocha --harmony" + "test": "mocha --compilers ts:ts-node/register --harmony" }, "dependencies": { "@types/bcryptjs": "2.4.0", diff --git a/test/api.js b/test/api.ts similarity index 98% rename from test/api.js rename to test/api.ts index 6b1cbe1c4..4313582aa 100644 --- a/test/api.js +++ b/test/api.ts @@ -10,26 +10,22 @@ process.env.NODE_ENV = 'test'; // Display detail of unhandled promise rejection process.on('unhandledRejection', console.dir); -// Init babel -require('babel-core/register'); -require('babel-polyfill'); - const fs = require('fs'); -const chai = require('chai'); +const _chai = require('chai'); const chaiHttp = require('chai-http'); -const should = chai.should(); +const should = _chai.should(); -chai.use(chaiHttp); +_chai.use(chaiHttp); const server = require('../built/api/server'); const db = require('../built/db/mongodb').default; -const request = (endpoint, params, me) => new Promise((ok, ng) => { +const request = (endpoint, params, me?) => new Promise((ok, ng) => { const auth = me ? { i: me.token } : {}; - chai.request(server) + _chai.request(server) .post(endpoint) .send(Object.assign(auth, params)) .end((err, res) => { @@ -52,7 +48,7 @@ describe('API', () => { afterEach(cb => setTimeout(cb, 100)); it('greet server', done => { - chai.request(server) + _chai.request(server) .get('/') .end((err, res) => { res.should.have.status(200); @@ -859,7 +855,7 @@ describe('API', () => { describe('drive/files/create', () => { it('ファイルを作成できる', () => new Promise(async (done) => { const me = await insertSakurako(); - chai.request(server) + _chai.request(server) .post('/drive/files/create') .field('i', me.token) .attach('file', fs.readFileSync(__dirname + '/resources/Lenna.png'), 'Lenna.png') @@ -1229,7 +1225,7 @@ describe('API', () => { }); }); -async function insertSakurako(opts) { +async function insertSakurako(opts?) { return await db.get('users').insert(Object.assign({ token: '!00000000000000000000000000000000', username: 'sakurako', @@ -1239,7 +1235,7 @@ async function insertSakurako(opts) { }, opts)); } -async function insertHimawari(opts) { +async function insertHimawari(opts?) { return await db.get('users').insert(Object.assign({ token: '!00000000000000000000000000000001', username: 'himawari', @@ -1249,20 +1245,20 @@ async function insertHimawari(opts) { }, opts)); } -async function insertDriveFile(opts) { +async function insertDriveFile(opts?) { return await db.get('drive_files').insert(Object.assign({ name: 'strawberry-pasta.png' }, opts)); } -async function insertDriveFolder(opts) { +async function insertDriveFolder(opts?) { return await db.get('drive_folders').insert(Object.assign({ name: 'my folder', parent_id: null }, opts)); } -async function insertApp(opts) { +async function insertApp(opts?) { return await db.get('apps').insert(Object.assign({ name: 'my app', secret: 'mysecret' diff --git a/test/text.js b/test/text.ts similarity index 100% rename from test/text.js rename to test/text.ts