isv-page-json-to-xtpl
Version:
abs 将页面 json 转换成 html
121 lines (109 loc) • 3.03 kB
JavaScript
const air = require('../lib/air');
const chai = require('chai');
const expect = chai.expect;
const sinon = require('sinon');
const co = require('co');
const testData = {
"spmA": "spmA",
"spmB": "spmB",
"keywords": ["demo"],
"description": "demo",
"title": "demo",
"layout":{
"modules": [
{
"group": "abs-mod",
"name": "m-chi-theme-market",
"version": "0.1.6"
}
]
}
};
describe('lib/air', ()=> {
describe('#params()',()=>{
it('should return postForm', done => {
co(function*(){
const result = yield air.params('<div>test</div>',{
"spmA": "spmA",
"spmB": "spmB",
"keywords": ["demo"],
"description": "demo",
"title": "demo",
"modules": [
{
"group": "abs-mod",
"name": "m-chi-theme-market",
"version": "0.1.6"
}
]
});
expect(result).to.be.a('object');
expect(result).to.have.deep.property('page.seed');
expect(result).to.have.deep.property('page.templates');
done();
});
});
});
describe('#requireCommand()', ()=>{
it('should return string',()=>{
const content = air.requireCommand([
{
"group": "abs-mod",
"name": "m-chi-theme-market",
"version": "0.1.6"
},
{
"group": "abs-mod",
"name": "m-chi-bangdan-lists",
"version": "0.0.4"
}
]);
expect(content).to.include('require');
expect(content).to.include('abs-mod/m-chi-theme-market/0.1.6/index');
expect(content).to.include('abs-mod/m-chi-theme-market/0.1.6/index.css');
});
it('del css result in no css',()=>{
const content = air.requireCommand([
{
"group": "abs-mod",
"name": "m-chi-theme-market",
"version": "0.1.6"
},
{
"group": "abs-mod",
"name": "m-chi-bangdan-lists",
"version": "0.0.4"
}
],true);
expect(content).to.include('require');
expect(content).to.not.include('abs-mod/m-chi-theme-market/0.1.6/index.css');
});
});
describe('#render()', ()=>{
it('should return html success',(done)=>{
co(function*() {
const postForm = yield air.params('<div>test</div>',{
"spmA": "spmA",
"spmB": "spmB",
"keywords": ["demo"],
"description": "demo",
"title": "demo",
"layout":{
"modules": [
{
"group": "abs-mod",
"name": "m-chi-theme-market",
"version": "0.1.6"
}
]
}
});
const result = yield air.render('http://tms-preview.taobao.com/preview', postForm);
expect(result).to.be.a('object');
expect(result.success).to.be.ok;
expect(result.content).to.have.string('<div>test</div>');
done();
});
})
})
});