1 | if (typeof require !== 'undefined') {
|
2 | var Validator = require('../src/validator.js');
|
3 | var expect = require('chai').expect;
|
4 | } else {
|
5 | var Validator = window.Validator;
|
6 | var expect = window.chai.expect;
|
7 | }
|
8 |
|
9 | describe('sometimes validation pass rules', function() {
|
10 | it('should pass when the property is passed with data', function() {
|
11 | var validator = new Validator({
|
12 | firstname: 'Johnny',
|
13 | lastname: 'Appleseed'
|
14 | }, {
|
15 | firstname: 'required',
|
16 | lastname: 'required|sometimes'
|
17 | });
|
18 | expect(validator.passes()).to.be.true;
|
19 | });
|
20 |
|
21 | it('should pass when the property is not passed with data', function() {
|
22 | var validator = new Validator({
|
23 | firstname: 'Johnny'
|
24 | }, {
|
25 | firstname: 'required',
|
26 | lastname: 'required|sometimes'
|
27 | });
|
28 | expect(validator.passes()).to.be.true;
|
29 | });
|
30 |
|
31 | it('should be able to register and pass async rule when the property is passed with data', function(done) {
|
32 | Validator.registerAsync('username', function(desiredUsername, ruleValue, attribute, passes) {
|
33 | setTimeout(function() {
|
34 | if (desiredUsername == 'test') {
|
35 | passes();
|
36 | }
|
37 | }, 50);
|
38 | }, ':attribute is an invalid username');
|
39 |
|
40 | var validator = new Validator({
|
41 | username: 'test',
|
42 | email: 'test@example.com'
|
43 | }, {
|
44 | username: 'username',
|
45 | email: 'email|sometimes'
|
46 | });
|
47 | validator.passes(done);
|
48 | });
|
49 |
|
50 | it('should be able to register and pass async rule when the property is not passed with data', function(done) {
|
51 | Validator.registerAsync('username', function(desiredUsername, ruleValue, attribute, passes) {
|
52 | setTimeout(function() {
|
53 | if (desiredUsername == 'test') {
|
54 | passes();
|
55 | }
|
56 | }, 50);
|
57 | }, ':attribute is an invalid username');
|
58 |
|
59 | var validator = new Validator({
|
60 | username: 'test'
|
61 | }, {
|
62 | username: 'username',
|
63 | email: 'email|sometimes'
|
64 | });
|
65 | validator.passes(done);
|
66 | });
|
67 | });
|