UNPKG

1.42 kBJavaScriptView Raw
1if (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
9describe('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});