UNPKG

apemanerror

Version:
75 lines (67 loc) 1.72 kB
/** * Test case for fromSequelize. * Runs with mocha. */ 'use strict' const fromSequelize = require('../lib/from_sequelize.js') const assert = require('assert') describe('from-sequelize', () => { before((done) => { done() }) after((done) => { done() }) it('Unique error', (done) => { let errors = fromSequelize( [ { message: 'username must be unique', type: 'unique violation', path: 'username', value: 'foo' } ], { namespace: '/data/attributes' } ) let error01 = errors[ 0 ] assert.ok(error01.id) assert.ok(error01.code) assert.equal(error01.title, 'RESOURCE_DATA_CONFLICT_ERROR') assert.deepEqual(error01.source, { pointer: '/data/attributes/username' }) done() }) it('Not null error.', (done) => { let error = fromSequelize({ message: 'key cannot be null', type: 'notNull Violation', path: 'key', value: null }, { namespace: '/data/attributes' }) assert.ok(error.id) assert.ok(error.code) assert.equal(error.title, 'VALUE_MISSING_ERROR') assert.deepEqual(error.source, { pointer: '/data/attributes/key' }) done() }) it('String error', (done) => { let error = fromSequelize({ message: 'hash cannot be an array or an object', type: 'string violation', path: 'hash', value: { foo: 'bar' } }, { namespace: '/data/attributes' }) assert.ok(error.id) assert.ok(error.code) assert.equal(error.title, 'VALUE_STRING_ERROR') assert.deepEqual(error.source, { pointer: '/data/attributes/hash' }) done() }) }) /* global describe, before, after, it */