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