31 lines
756 B
JavaScript
31 lines
756 B
JavaScript
/* eslint-disable no-undef */
|
|
const TypeObject = require('./object.js')
|
|
const TypeString = require('./string.js')
|
|
|
|
describe('test validate type schema object', () => {
|
|
function throwFunc (val) {
|
|
return () => {
|
|
if (val) throw new Error(val)
|
|
}
|
|
}
|
|
|
|
it('test object type with required', async () => {
|
|
const obj = new TypeObject().required()
|
|
|
|
throwFunc(obj.validate({}))
|
|
|
|
expect(throwFunc(obj.validate(undefined))).toThrow()
|
|
expect(throwFunc(obj.validate(false))).toThrow()
|
|
})
|
|
|
|
it('test object type with child', async () => {
|
|
const obj = new TypeObject({
|
|
name: new TypeString()
|
|
}).required()
|
|
|
|
throwFunc(obj.validate({ name: 'asd' }))
|
|
|
|
expect(throwFunc(obj.validate({ name: 123 }))).toThrow()
|
|
})
|
|
})
|