UNPKG

apemanerror

Version:
67 lines (61 loc) 1.49 kB
/** * Test case for fromTv4. * Runs with mocha. */ 'use strict' const fromTv4 = require('../lib/from_tv4.js') const tv4 = require('tv4') const assert = require('assert') describe('tv4-error', () => { before((done) => { done() }) after((done) => { done() }) it('Tv4 error', (done) => { let schema = { 'properties': { 'id': { 'description': 'The unique identifier for a product', 'type': 'integer' }, 'name': { 'description': 'Name of the product', 'type': 'string', 'minLength': 8 } }, 'required': [ 'id', 'name' ] } let values = { name: 'foo', id: 'abc' } let result = tv4.validateMultiple(values, schema) let errors = fromTv4(result.errors, { namespace: '/data/attributes' }) let error0 = errors[ 0 ] let error1 = errors[ 1 ] assert.ok(error0.id) assert.equal(error0.source.pointer, '/data/attributes/name') assert.deepEqual(error0.meta, { name: 'VALUE_STRING_TOO_SHORT_ERROR', trigger: 'JSONSchema', context: { length: 3, minimum: 8 } }) assert.ok(error1.id) assert.equal(error1.source.pointer, '/data/attributes/id') assert.deepEqual(error1.meta, { name: 'VALUE_TYPE_INVALID_ERROR', trigger: 'JSONSchema', context: { type: 'string', expected: 'integer' } }) done() }) }) /* global describe, before, after, it */