62 lines
2.2 KiB
JavaScript
62 lines
2.2 KiB
JavaScript
/* global require, chai, describe, before, it */
|
||
// 数据占位符定义(Data Placeholder Definition,DPD)
|
||
var expect = chai.expect
|
||
var Mock, $, _
|
||
|
||
describe('Mock.mock', function() {
|
||
before(function(done) {
|
||
require(['mock', 'underscore', 'jquery'], function() {
|
||
Mock = arguments[0]
|
||
_ = arguments[1]
|
||
$ = arguments[2]
|
||
expect(Mock).to.not.equal(undefined)
|
||
expect(_).to.not.equal(undefined)
|
||
expect($).to.not.equal(undefined)
|
||
done()
|
||
})
|
||
})
|
||
|
||
describe('Mock.mock( String )', function() {
|
||
it('@EMAIL', function() {
|
||
var data = Mock.mock(this.test.title)
|
||
expect(data).to.not.equal(this.test.title)
|
||
this.test.title += ' => ' + data
|
||
})
|
||
})
|
||
describe('Mock.mock( {} )', function() {
|
||
it('', function() {
|
||
var tpl = {
|
||
'list|1-10': [{
|
||
'id|+1': 1,
|
||
'email': '@EMAIL'
|
||
}]
|
||
}
|
||
var data = Mock.mock(tpl)
|
||
this.test.title = JSON.stringify(tpl /*, null, 4*/ ) + ' => ' + JSON.stringify(data /*, null, 4*/ )
|
||
expect(data).to.have.property('list')
|
||
.that.be.an('array').with.length.within(1, 10)
|
||
_.each(data.list, function(item, index, list) {
|
||
if (index > 0) expect(item.id).to.equal(list[index - 1].id + 1)
|
||
})
|
||
})
|
||
})
|
||
describe('Mock.mock( function() )', function() {
|
||
it('', function() {
|
||
var fn = function() {
|
||
return Mock.mock({
|
||
'list|1-10': [{
|
||
'id|+1': 1,
|
||
'email': '@EMAIL'
|
||
}]
|
||
})
|
||
}
|
||
var data = Mock.mock(fn)
|
||
this.test.title = fn.toString() + ' => ' + JSON.stringify(data /*, null, 4*/ )
|
||
expect(data).to.have.property('list')
|
||
.that.be.an('array').with.length.within(1, 10)
|
||
_.each(data.list, function(item, index, list) {
|
||
if (index > 0) expect(item.id).to.equal(list[index - 1].id + 1)
|
||
})
|
||
})
|
||
})
|
||
}) |