Use TypeScript for tests

This commit is contained in:
Aya Morisawa 2017-02-28 02:48:37 +09:00
parent db7e28c640
commit 6f497a3bd5
3 changed files with 13 additions and 17 deletions

View File

@ -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",

View File

@ -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<any>((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('ファイルを作成できる', () => 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'