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('required with all', function() {
|
10 | it('should fail', function() {
|
11 | var validator = new Validator({
|
12 | desert: {
|
13 | first: 'icecream',
|
14 | second: 'icecream'
|
15 | },
|
16 | flavour: ''
|
17 | }, {
|
18 | flavour: 'required_with_all:desert.first,desert.second'
|
19 | });
|
20 | expect(validator.fails()).to.be.true;
|
21 | expect(validator.passes()).to.be.false;
|
22 | expect(validator.errors.first('flavour')).to.equal('The flavour field is required when desert.first, desert.second are not empty.');
|
23 | });
|
24 |
|
25 | it('should pass', function() {
|
26 | var validator = new Validator({
|
27 | desert: {
|
28 | first: 'icecream',
|
29 | second: 'icecream'
|
30 | },
|
31 | flavour: 'chocolate'
|
32 | }, {
|
33 | flavour: 'required_with_all:desert.first,desert.second'
|
34 | });
|
35 | expect(validator.passes()).to.be.true;
|
36 | expect(validator.fails()).to.be.false;
|
37 | });
|
38 |
|
39 | it('should pass (not all required field are set)', function() {
|
40 | var validator = new Validator({
|
41 | desert: {
|
42 | first: 'icecream',
|
43 | },
|
44 | flavour: ''
|
45 | }, {
|
46 | flavour: 'required_with_all:desert.first,desert.second'
|
47 | });
|
48 | expect(validator.passes()).to.be.true;
|
49 | expect(validator.fails()).to.be.false;
|
50 | });
|
51 |
|
52 | });
|