import chai, { expect } from "chai";
import sinon from 'sinon'
import sinonChai from 'sinon-chai'
import Validate from '../../src/validate'
chai.use(sinonChai)
const validator = new Validate()
describe("validator", () => {
it('存在.', () => {
expect(Validate).to.exist
})
it('require true通过', ()=> {
let data = {
email:''
}
let rules = [
{key:'email',required:true}
]
let errors = validator.validator(data , rules)
expect(errors.email.required).to.eq('必填')
})
it('验证pattern 不通过', ()=> {
let data = {
email:'@123.com'
}
let rules = [
{key:'email',pattern:/^.+@.+$/}
]
let errors = validator.validator(data , rules)
expect(errors.email.pattern).to.eq('格式不正确')
})
it('验证pattern 通过', ()=> {
let data = {
email:'123@123.com'
}
let rules = [
{key:'email',pattern:/^.+@.+$/}
]
let errors = validator.validator(data , rules)
expect(errors.email.pattern).to.not.exist
})
it('验证email 不通过', ()=> {
let data = {
email:'@123.com'
}
let rules = [
{key:'email',pattern:'email'}
]
let errors = validator.validator(data , rules)
expect(errors.email.pattern).to.eq('格式不正确')
})
it('验证throw error', ()=> {
let data = {
email:'@123.com'
}
let rules = [
{key:'email',pattern:'email',maxLength:3}
]
let fn = function() {
validator.validator(data , rules)
}
expect(fn).to.throw('error')
})
it('验证自定义规则', ()=> {
let data = {
name:'randy666',
}
let rules = [
{key:'name',maxLength:6}
]
validator.maxLength = function(value,maxLength) {
Eif(value.length > maxLength){
return '太长了'
}
}
let errors = validator.validator(data , rules)
expect(errors.name.maxLength).to.eq('太长了')
})
});
|