UNPKG

validata-mongo

Version:
87 lines 3.09 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const validata_1 = require("validata"); const object_set_1 = require("../object-set"); describe('example one', () => { const myCheck = (0, object_set_1.isObjectSet)({ required: (0, validata_1.isString)(), optional: (0, validata_1.maybeString)(), child: (0, object_set_1.isObjectSet)({ foo: (0, validata_1.isNumber)({ min: 1 }), bar: (0, validata_1.asNumber)({ coerceMax: 10 }), }), }); it('will pass valid value', () => { const result = (0, validata_1.check)(myCheck, () => ({ required: 'blue', child: { foo: 1, bar: 2, }, })); console.log(JSON.stringify(result)); expect(result).toEqual({ required: 'blue', child: { foo: 1, bar: 2 } }); }); it('will coerce valid value', () => { const result = (0, validata_1.check)(myCheck, () => ({ required: 'blue', optional: 'red', child: { foo: 20, bar: '20', }, })); console.log(JSON.stringify(result)); expect(result).toEqual({ required: 'blue', optional: 'red', child: { foo: 20, bar: 10 } }); }); it('will pass valid $set deep paths', () => { const result = (0, validata_1.check)(myCheck, () => ({ required: 'blue', 'child.foo': 3, })); console.log(JSON.stringify(result)); expect(result).toEqual({ required: 'blue', 'child.foo': 3 }); }); it('will coerce valid $set deep paths', () => { const result = (0, validata_1.check)(myCheck, () => ({ required: 'blue', 'child.bar': '73', })); console.log(JSON.stringify(result)); expect(result).toEqual({ required: 'blue', 'child.bar': 10 }); }); it('will not allow additional properties', () => { try { (0, validata_1.check)(myCheck, () => ({ wow: 'blue', })); fail(); } catch (err) { console.log(JSON.stringify(err)); expect(Object.assign({}, err)).toEqual(expect.objectContaining({ issues: [ expect.objectContaining({ path: ['wow'], value: 'blue', reason: 'unexpected-property' }), ], })); } }); it('will not allow additional deep properties', () => { try { (0, validata_1.check)(myCheck, () => ({ required: 'blue', 'child.unexpected': 17, })); fail(); } catch (err) { console.log(JSON.stringify(err)); expect(Object.assign({}, err)).toEqual(expect.objectContaining({ issues: [ expect.objectContaining({ path: ['child.unexpected'], value: 17, reason: 'unexpected-property' }), ], })); } }); }); //# sourceMappingURL=one.test.js.map