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)
|
|||
|
})
|
|||
|
})
|
|||
|
})
|
|||
|
})
|