Skip to content

Commit 503e5d2

Browse files
Merge pull request #8 from amio-io/7-update-after-implementing-on-whatsapp
feat: Update after implementing on amio-adapter-whatsapp #7
2 parents aafb6fc + 5069018 commit 503e5d2

File tree

3 files changed

+27
-1
lines changed

3 files changed

+27
-1
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "json-validations-lib",
3-
"version": "1.1.0",
3+
"version": "1.2.0",
44
"scripts": {
55
"test-units": "cross-env BUILD_ENV=test DEBUG=amio* mocha test/test_unit/**/*.test.js --reporter mocha-multi-reporters --reporter-options configFile=test/mocha-reporters-config.json",
66
"can-publish-nix": "npm info $npm_package_name version | npm-version-bump-checker",

src/utils/validation-errors-converter.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,14 @@ function convertValidationError(error) {
2222
return new SchemaValidatorError(`Property '${propName}' must have value '${params.allowedValue}'.`, errorObject.dataPath, errorObject.data)
2323
case 'enum':
2424
return convertEnum(errorObject.data, errorObject.dataPath, params, propName, errorObject.schemaPath)
25+
case 'keys_not_equal': {// non-schema error
26+
const message = `Provided keys do not match expected keys: ${params.originalKeys}.`
27+
return new SchemaValidatorError(message, errorObject.dataPath, errorObject.data)
28+
}
29+
case 'not_found':// non-schema error
30+
const notFoundPropName = params.notFoundPropName
31+
const message = `Cannot find ${notFoundPropName} with id ${errorObject.data}.`
32+
return new SchemaValidatorError(message, errorObject.dataPath, errorObject.data)
2533
case 'format':
2634
if(errorObject.params.format === 'httpUrl') {
2735
const message = `Property '${propName}' must be a valid URL. Current value is "${errorObject.data}"`

test/test_unit/validation-errors-converter.test.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
const expect = require('chai').expect
22
const SchemaValidator = require('../../src/schema-validator')
3+
const ValidationErrorsConverter = require('../../src/utils/validation-errors-converter')
34
const clone = require('ramda/src/clone')
45

56
describe('validation-error-converter test', () => {
@@ -159,4 +160,21 @@ describe('validation-error-converter test', () => {
159160
rejected_value: 'invalid-email'
160161
})
161162
})
163+
164+
it('not_found', () => {
165+
const schemaError = {
166+
keyword: 'not_found',
167+
dataPath: 'message_template.id',
168+
data: 1,
169+
params: {
170+
notFoundPropName: 'message_template'
171+
}
172+
}
173+
const result = ValidationErrorsConverter.convertValidationError(schemaError)
174+
expect(result).to.include({
175+
message: 'Cannot find message_template with id 1.',
176+
field: 'message_template.id',
177+
rejected_value: 1
178+
})
179+
})
162180
})

0 commit comments

Comments
 (0)