UNPKG

cross-validator

Version:

A Cross Script Validator, node, browser, java

62 lines (43 loc) 1.72 kB
var assert = require('chai').assert; var source = __dirname.replace('test', 'src'); /** * @author Guilherme M Gregio <guilherme@gregio.net> */ suite('execValidators', function () { var execValidators = require(source.concat('/execValidators')); test('should added errors on object errors', function () { var constrains = ['notEmpty($name)']; var errors = {}; var data = {}; new execValidators.using(constrains).outErrors(errors).forData(data).validate(); assert.deepEqual({name: ['notEmpty']}, errors); }); test('should validate a list and added errors on object errors', function () { var constrains = ['notEmpty($deposits.name)']; var errors = {}; var data = {}; var deposit = {}; var deposit2 = {}; data.deposits = []; data.deposits.push(deposit); data.deposits.push(deposit2); new execValidators.using(constrains).outErrors(errors).forData(data).validate(); assert.deepEqual({'deposits[0].name': ['notEmpty'], 'deposits[1].name': ['notEmpty']}, errors); }); test('should validate a literal object', function(){ var constrains = ['notEmpty(name)']; var errors = {}; new execValidators.using(constrains).outErrors(errors).forData().validate(); assert.deepEqual({}, errors); }); test('test', function(){ var constrains = ['notEmpty($bankAccount.bank.name)']; var errors = {}; var data = {}; data.bankAccount = { bank: {} }; new execValidators.using(constrains).outErrors(errors).forData(data).validate(); assert.deepEqual({'bankAccount.bank.name': ['notEmpty']}, errors); }); });