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('between rule', function() {
|
10 | it('should pass between rule when 25 and between 18 - 30', function() {
|
11 | var validator = new Validator({
|
12 | num: 25
|
13 | }, {
|
14 | num: 'between:18,30'
|
15 | });
|
16 | expect(validator.passes()).to.be.true;
|
17 | expect(validator.fails()).to.be.false;
|
18 | });
|
19 |
|
20 | it('should pass between rule when 25 and between 25 - 30', function() {
|
21 | var validator = new Validator({
|
22 | num: 25
|
23 | }, {
|
24 | num: 'between:25,30'
|
25 | });
|
26 | expect(validator.passes()).to.be.true;
|
27 | expect(validator.fails()).to.be.false;
|
28 | });
|
29 |
|
30 | it('should fail on string 25 when between is set to 25 - 30', function() {
|
31 | var validator = new Validator({
|
32 | num: '25'
|
33 | }, {
|
34 | num: 'between:25,30'
|
35 | });
|
36 | expect(validator.passes()).to.be.false;
|
37 | expect(validator.fails()).to.be.true;
|
38 | });
|
39 |
|
40 | it('should pass on string 25 when between is set to 2 - 3', function() {
|
41 | var validator = new Validator({
|
42 | num: '25'
|
43 | }, {
|
44 | num: 'between:2,3'
|
45 | });
|
46 | expect(validator.passes()).to.be.true;
|
47 | expect(validator.fails()).to.be.false;
|
48 | });
|
49 |
|
50 | it('should threat string 25 as numeric when other numeric rules are set and pass when between is set to 25 - 30', function() {
|
51 | var validator = new Validator({
|
52 | num: '25'
|
53 | }, {
|
54 | num: 'between:25,30|numeric'
|
55 | });
|
56 | expect(validator.passes()).to.be.true;
|
57 | expect(validator.fails()).to.be.false;
|
58 | });
|
59 |
|
60 | it('should support floats', function() {
|
61 | var validator = new Validator({
|
62 | num1: 25.12,
|
63 | num2: 0.03
|
64 | }, {
|
65 | num1: 'between:25.11,25.13',
|
66 | num2: 'between:0.02,0.04'
|
67 | });
|
68 | expect(validator.passes()).to.be.true;
|
69 | expect(validator.fails()).to.be.false;
|
70 | });
|
71 |
|
72 | it('should support unsigned', function() {
|
73 | var validator = new Validator({
|
74 | num: -3
|
75 | }, {
|
76 | num: 'between:-4,-2'
|
77 | });
|
78 | expect(validator.passes()).to.be.true;
|
79 | expect(validator.fails()).to.be.false;
|
80 | });
|
81 |
|
82 | it('should support array', function() {
|
83 | var validator = new Validator({
|
84 | array2: ['a', 'b']
|
85 | }, {
|
86 | array2: 'required|between:1,2'
|
87 | });
|
88 | expect(validator.passes()).to.be.true;
|
89 | expect(validator.fails()).to.be.false;
|
90 | });
|
91 |
|
92 | it('should generate proper error message', function() {
|
93 | var validator = new Validator({
|
94 | num: '14'
|
95 | }, {
|
96 | num: 'between:16,23'
|
97 | });
|
98 | expect(validator.fails()).to.be.true;
|
99 | expect(validator.errors.first('num')).to.equal('The num field must be between 16 and 23.');
|
100 | });
|
101 |
|
102 | it('should fail when passed invalid values', function() {
|
103 | var validator = new Validator({
|
104 | numNull: null,
|
105 | numUndefined: undefined,
|
106 | numEmpty: '',
|
107 | numOutOfBounds: 24,
|
108 | numOutOfBoundsUnsigned: -34
|
109 | }, {
|
110 | numNull: 'between:25,30',
|
111 | numUndefined: 'between:25,30',
|
112 | numEmpty: 'between:25,30',
|
113 | numOutOfBounds: 'between:25,30',
|
114 | numOutOfBoundsUnsigned: 'between:-35,150',
|
115 | });
|
116 | expect(validator.fails()).to.be.true;
|
117 | expect(validator.passes()).to.be.false;
|
118 | });
|
119 | });
|