-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
119 lines (97 loc) · 2.97 KB
/
test.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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
const validate = require('.');
var assert = require('assert');
describe('rules', function () {
it('should fail when required fields are not present', function () {
const form = {
name: '',
};
const $v = validate(form, {
name: 'required',
});
assert.equal($v.valid, false);
});
it('should not fail when required fields are present, even though other fields are not present', function () {
const form = {
name: 'mikkjal',
email: '',
};
const $v = validate(form, {
name: 'required',
email: 'email',
});
assert.equal($v.valid, true);
});
it('should not fail when using min for number, string or array', function () {
const form = {
test: {
number: 3,
string: 'Hello, world!',
array: ['Hello', ',', 'world', '!'],
},
};
const $v = validate(form, {
'test.*': 'required|min:3',
});
assert.equal($v.valid, true);
});
it('should not fail when using max for number, string or array', function () {
const form = {
test: {
number: 4,
string: 'Hell',
array: ['Hello', ',', 'world', '!'],
},
};
const $v = validate(form, {
'test.*': 'required|max:4',
});
assert.equal($v.valid, true);
});
it('should not fail when using between for number, string or array', function () {
const form = {
test: {
number: 3,
string: 'Hello, world!',
array: ['Hello', ', ', 'world', '!'],
},
};
const $v = validate(form, {
'test.*': 'required|between:3,13',
});
assert.equal($v.valid, true);
});
it('should not fail when using regex', function () {
const form = {
number: '9',
};
const $v = validate(form, {
number: 'regex:/^[0-9]$/|regex:^[0-9]$',
});
assert.deepEqual([$v.number.regex, $v.number.regex1], [true, true]);
});
it('should add wildcard messages', function () {
const form = {
test: {
name: '',
email: '',
},
email: '',
};
const $v = validate(
form,
{
'test.*': 'required',
'*email': 'email',
},
{
'test.*.required': 'Name is required',
'*email.email': 'Email needs to be an email address',
}
);
assert.ok(
$v.email.messages.includes('Email needs to be an email address') &&
$v.test.name.messages.includes('Name is required') &&
$v.test.email.messages.includes('Email needs to be an email address')
);
});
});