Newer
Older
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
import Form from '../../lib/form.js';
import Math from '../../lib/math';
import {expect} from 'chai';
describe('lib::FORM', () => {
'use strict';
describe('constructor', () => {
let basicForm = {
name : {
required : true,
validator : 'isLength',
options : {min : 3, max : 70},
fake : '{{name.lastName}}'
},
id : {
validator : 'isInt',
required : true,
options : {min : 0, max : 20}, fake() { return '1' }
},
sample : {
required : false,
validator(x) { return new Math().checkUuid(x); },
convert(x) {
return x; // fake convert a=a
},
fake() { return new Math().uuid(); }
},
email : {
convert : 'normalizeEmail',
type : 'email',
validator : 'isEmail',
fake : '{{internet.email}}'
}
};
it('should fakefill to valid', (done) => {
let form = new Form(basicForm);
form.fakeFill();
form.fill({}, false);
let valid = form.isValid();
expect(valid).equal(true);
done();
});
it('should fill to valid', (done) => {
let form = new Form(basicForm);
form.fill({name : 'max', id : '5'});
expect(form.isValid()).equal(true);
done();
});
it('should put error', (done) => {
let localForm = {
e1 : {validator : 'isEmail', required : true, fake : 'notamail'},
e2 : {required : false, validator(x) { return false; }},
e3 : {required : true, validator(x) { return false; }},
e4 : {
required : true,
convert(x) { return x; },
validator(x) { return false; }
}
};
Object.assign(localForm, basicForm);
let form = new Form(localForm);
form.fakeFill();
let res = form.fill({e4 : ''});
form.isValid();
expect(res.e1.error).equal(true, 'should mark error');
expect(res.e2.error).equal(false, 'should not mark error');
expect(res.e3.error).equal(true, 'should mark error');
expect(res.e4.error).equal(true, 'should mark error');
done();
});
});
});