thinkjs/test/case/loader.js
2017-08-11 14:08:38 +08:00

52 lines
1.0 KiB
JavaScript

import test from 'ava';
const mock = require('mock-require');
// const mockie = require('../lib/mockie');
// const utils = require('../lib/utils');
// const path = require('path');
function getLoader() {
return mock.reRequire('../../lib/loader');
}
// test.afterEach.always(() => {
// mockie.stop();
// });
mock('think-crontab',class Crontab{
runTask(){
}
})
test.serial('normal test', t => {
const Loader = getLoader();
let options = {
env:'development',
proxy:'http://localhost:8888'
};
let loader = new Loader(options);
loader.initPath();
t.is(think.env, options.env);
t.is(think.app.env,options.env);
t.is(think.app.proxy,options.proxy)
})
test.serial('loadMiddleware', t => {
think.loader = {
loadMiddleware:()=>{
let [fn1,fn2] = [()=>{},()=>{}];
return [fn1,fn2]
}
};
think.app = {
middleware:[],
use : (fn)=>{
think.app.middleware.push(fn)
}
}
const Loader = getLoader();
let loader = new Loader();
loader.loadMiddleware();
t.is(think.app.middleware.length,2);
})