-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathTypes.js
85 lines (70 loc) · 2.46 KB
/
Types.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
const AJS = require('..')
const { deepEqual } = require('./_util')
const UserSchema = AJS('User', {
string: { type: AJS.Types.String },
number: { type: AJS.Types.Number },
integer: { type: AJS.Types.Integer },
double: { type: AJS.Types.Double },
date: { type: AJS.Types.Date },
buffer: { type: AJS.Types.Buffer },
boolean: { type: AJS.Types.Boolean },
mixed: { type: AJS.Types.Mixed }
})
describe('Types', function () {
it('String', function () {
let user = UserSchema.validate({ string: 111 })
deepEqual(user.valid, true)
deepEqual(user.result.string, '111')
})
it('Number', function () {
let user = UserSchema.validate({ number: 1.2 })
deepEqual(user.valid, true)
deepEqual(user.result.number, 1.2)
user = UserSchema.validate({ number: 'haha' })
deepEqual(user.valid, false)
})
it('Integer', function () {
let user = UserSchema.validate({ integer: 1.2 })
deepEqual(user.valid, true)
deepEqual(user.result.integer, 1)
user = UserSchema.validate({ integer: 'haha' })
deepEqual(user.valid, false)
})
it('Double', function () {
let user = UserSchema.validate({ double: 1.2 })
deepEqual(user.valid, true)
deepEqual(user.result.double, 1.2)
user = UserSchema.validate({ double: 'haha' })
deepEqual(user.valid, false)
})
it('Date', function () {
let user = UserSchema.validate({ date: '2018-04-13' })
deepEqual(user.valid, true)
deepEqual(typeof user.result.date, 'object')
deepEqual(user.result.date, new Date('2018-04-13'))
user = UserSchema.validate({ date: 'haha' })
deepEqual(user.valid, false)
})
it('Buffer', function () {
let user = UserSchema.validate({ buffer: '123' })
deepEqual(user.valid, true)
deepEqual(Buffer.isBuffer(user.result.buffer), true)
deepEqual(user.result.buffer.toString(), '123')
user = UserSchema.validate({ buffer: Buffer.from('123') })
deepEqual(user.valid, true)
deepEqual(Buffer.isBuffer(user.result.buffer), true)
deepEqual(user.result.buffer.toString(), '123')
user = UserSchema.validate({ buffer: 1 })
deepEqual(user.valid, false)
})
it('Boolean', function () {
let user = UserSchema.validate({ boolean: 1 })
deepEqual(user.valid, true)
deepEqual(user.result.boolean, true)
})
it('Mixed', function () {
let user = UserSchema.validate({ mixed: { names: ['tom', 'xp'] } })
deepEqual(user.valid, true)
deepEqual(user.result.mixed, { names: ['tom', 'xp'] })
})
})