UNPKG

node-input-validator

Version:

validation library for nodejs, inspired by laravel.

79 lines (58 loc) 2.12 kB
const assert = require('assert'); const { Validator } = require('../../lib/index'); describe('string', () => { it('should reject integer in string fields', async () => { const v = new Validator({ atr: 1 }, { atr: 'string' }); const matched = await v.check(); assert.equal(matched, false); }); it('should reject boolean in string fields', async () => { const v = new Validator({ attr: true }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, false); }); it('should reject boolean false in string fields', async () => { const v = new Validator({ attr: false }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, false); }); it('should reject array in string fields', async () => { const v = new Validator({ attr: [1, 2] }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, false); }); it('should reject object in string fields', async () => { const v = new Validator({ attr: {} }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, false); }); it('should pass', async () => { const v = new Validator({ attr: 'string' }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, true); }); it('should ignore empty string in not required fields', async () => { const v = new Validator({ attr: '' }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, true); }); it('should reject empty string in required fields', async () => { const v = new Validator({ attr: '' }, { attr: 'required|string' }); const matched = await v.check(); assert.equal(matched, false); }); it('message should exist', async () => { const v = new Validator({ attr: 15.50 }, { attr: 'string' }); const matched = await v.check(); assert.equal(matched, false); assert.equal( v.errors.attr.message, v.getExistinParsedMessage({ rule: 'string', value: '', attr: 'attr', args: [], }), ); }); });