db-vendo-client/test/e2e/lib/validate-fptf-with.js

31 lines
746 B
JavaScript
Raw Normal View History

'use strict'
2018-04-25 12:48:05 +02:00
const {defaultValidators} = require('validate-fptf')
const anyOf = require('validate-fptf/lib/any-of')
const validators = require('./validators')
const create = (cfg, customValidators = {}) => {
2018-04-25 12:48:05 +02:00
const val = Object.assign({}, defaultValidators)
for (let key of Object.keys(validators)) {
2018-04-25 12:48:05 +02:00
val[key] = validators[key](cfg)
}
2018-04-25 12:48:05 +02:00
Object.assign(val, customValidators)
const validateFptfWith = (t, item, allowedTypes, name) => {
try {
2018-04-25 12:48:05 +02:00
if ('string' === typeof allowedTypes) {
val[allowedTypes](val, item, name)
} else {
anyOf(allowedTypes, val, item, name)
}
t.pass(name + ' is valid')
} catch (err) {
t.ifError(err) // todo: improve error logging
}
}
return validateFptfWith
}
module.exports = create