2016-03-18 19:51:40 -04:00
|
|
|
var test = require('tap').test;
|
|
|
|
var data = require('../fixtures/data');
|
|
|
|
var validate = require('../../lib/validate');
|
|
|
|
|
|
|
|
test('spec', function (t) {
|
|
|
|
t.type(validate, 'function');
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
|
|
|
|
test('valid', function (t) {
|
|
|
|
validate(JSON.parse(data.example.json), function (err, res) {
|
|
|
|
t.equal(err, null);
|
|
|
|
t.type(res, 'object');
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|
|
|
|
|
|
|
|
test('invalid', function (t) {
|
2018-03-24 11:09:43 -04:00
|
|
|
validate({foo: 1}, function (err, res) {
|
2016-03-18 19:51:40 -04:00
|
|
|
t.equal(Array.isArray(err), true);
|
2018-03-24 11:09:43 -04:00
|
|
|
t.type(res, 'undefined');
|
2016-03-18 19:51:40 -04:00
|
|
|
t.type(err[0], 'object');
|
|
|
|
t.type(err[0].keyword, 'string');
|
|
|
|
t.type(err[0].dataPath, 'string');
|
|
|
|
t.type(err[0].schemaPath, 'string');
|
|
|
|
t.type(err[0].message, 'string');
|
|
|
|
t.type(err[0].params, 'object');
|
|
|
|
t.type(err[0].params.missingProperty, 'string');
|
|
|
|
t.end();
|
|
|
|
});
|
|
|
|
});
|