File: test/rootArray.js

Recommend this page to a friend!
  Classes of Harcharan Singh   Node Input Validator   test/rootArray.js   Download  
File: test/rootArray.js
Role: Example script
Content type: text/plain
Description: Example script
Class: Node Input Validator
Validate submitted input values in Node.js
Author: By
Last change:
Date: 2 years ago
Size: 2,456 bytes
 

Contents

Class file image Download
const assert = require('assert'); const { Validator } = require('../lib/index'); describe('Root Level Array', () => { it('should pass with array as root level', async () => { const v = new Validator( [ { field: 'admin@example.com' }, ], { '*.field': 'required|email' }, ); const matched = await v.check(); assert.equal(matched, true); }); it('should fail with array as root level', async () => { const v = new Validator( [ { field: 'string' }, ], { '*.field': 'required|email' }, ); const matched = await v.check(); assert.equal(matched, false); v.errors.should.have.key('0.field'); }); it('should pass with array as root level contains nested object', async () => { const v = new Validator([ { field: { email: 'admin@example.com' }, }, ], { '*.field.email': 'required|email' },); const matched = await v.check(); assert.equal(matched, true); }); it('should fail with array as root level contains nested object', async () => { const v = new Validator( [ { field: { email: 'string' }, }, ], { '*.field.email': 'required|email' }, ); const matched = await v.check(); assert.equal(matched, false); v.errors.should.have.key('0.field.email'); }); it('should pass with array as root level contains nested object', async () => { const v = new Validator( [ { field: { mails: [ { email: 'admin@example.com' } ], }, }, ], { '*.field.mails.*.email': 'required|email' } ); const matched = await v.check(); assert.equal(matched, true); }); it('should fail with array as root level contains nested object', async () => { const v = new Validator( [ { field: { mails: [ { email: 'admin@example.com' }, { email: 'string' }, { email: 'admin@example.com' } ], }, }, ], { '*.field.mails.*.email': 'required|email' } ); const matched = await v.check(); assert.equal(matched, false); v.errors.should.have.key('0.field.mails.1.email'); }); });