thinkjs/template/test/index.js

69 lines
1.6 KiB
JavaScript

'use strict';
var assert = require('assert');
var path = require('path');
var fs = require('fs');
var http = require('http');
var thinkjs = require('thinkjs');
var ROOT_PATH = path.dirname(__dirname);
thinkjs.load({
ROOT_PATH: ROOT_PATH,
APP_PATH: ROOT_PATH + think.sep + 'app',
RUNTIME_PATH: ROOT_PATH + think.sep + 'runtime',
RESOURCE_PATH: ROOT_PATH + think.sep + 'www'
});
//get http object
var getHttp = function(options){
var req = new http.IncomingMessage();
req.headers = {
'host': 'www.thinkjs.org',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_0) AppleWebKit',
};
req.method = 'GET';
req.httpVersion = '1.1';
req.url = '/index/index';
var res = new http.ServerResponse(req);
res.write = function(){
return true;
}
return think.http(req, res).then(function(http){
if(options){
for(var key in options){
http[key] = options[key];
}
}
return http;
})
}
describe('unit test', function(){
it('test controller', function(done){
getHttp().then(function(http){
var instance = think.controller('index', http, 'home');
/**
* instance.xxx().then(function(){
* //done();
* })
*/
done();
})
})
it('test model', function(done){
var dbConfig = think.config('db');
//get model instance
var instance = think.model('user', dbConfig, 'home');
/**
* instance.xxx().then(function(data){
* assert.deepEqual(data, {});
* //done();
* })
*/
done();
})
});