UNPKG

speckoloo

Version:
63 lines (47 loc) 4.08 kB
'use strict'; var _ava = require('ava'); var _toJson = require('./to-json'); var _toJson2 = _interopRequireDefault(_toJson); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } (0, _ava.test)('Given data with same keys as schema, when toJSON is called, then is should return the same values', t => { const schema = { prop1: {}, prop2: {} }; const data = { prop1: 'a', prop2: 'b' }; const result = (0, _toJson2.default)(schema, data); t.deepEqual(result, data); }); (0, _ava.test)('Given data with more keys than schema, when toJSON is called, then is should return data stripped from the extra keys', t => { const schema = { prop1: {}, prop2: {} }; const data = { prop1: 'a', prop2: 'b', notInSchema: 'c' }; const result = (0, _toJson2.default)(schema, data); t.deepEqual(result, { prop1: 'a', prop2: 'b' }); }); (0, _ava.test)('Given data with less keys than schema, when toJSON is called, then is should return data with none of the missing keys', t => { const schema = { prop1: {}, prop2: {} }; const data = { prop1: 'a' }; const result = (0, _toJson2.default)(schema, data); t.deepEqual(result, { prop1: 'a' }); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy90by1qc29uLnRlc3QuanMiXSwibmFtZXMiOlsidCIsInNjaGVtYSIsInByb3AxIiwicHJvcDIiLCJkYXRhIiwicmVzdWx0IiwiZGVlcEVxdWFsIiwibm90SW5TY2hlbWEiXSwibWFwcGluZ3MiOiI7O0FBQUE7O0FBQ0E7Ozs7OztBQUVBLGVBQUssbUdBQUwsRUFBMEdBLEtBQUs7QUFDN0csUUFBTUMsU0FBUztBQUNiQyxXQUFPLEVBRE07QUFFYkMsV0FBTztBQUZNLEdBQWY7O0FBS0EsUUFBTUMsT0FBTztBQUNYRixXQUFPLEdBREk7QUFFWEMsV0FBTztBQUZJLEdBQWI7O0FBS0EsUUFBTUUsU0FBUyxzQkFBUUosTUFBUixFQUFnQkcsSUFBaEIsQ0FBZjs7QUFFQUosSUFBRU0sU0FBRixDQUFZRCxNQUFaLEVBQW9CRCxJQUFwQjtBQUNELENBZEQ7O0FBZ0JBLGVBQUssdUhBQUwsRUFBOEhKLEtBQUs7QUFDakksUUFBTUMsU0FBUztBQUNiQyxXQUFPLEVBRE07QUFFYkMsV0FBTztBQUZNLEdBQWY7O0FBS0EsUUFBTUMsT0FBTztBQUNYRixXQUFPLEdBREk7QUFFWEMsV0FBTyxHQUZJO0FBR1hJLGlCQUFhO0FBSEYsR0FBYjs7QUFNQSxRQUFNRixTQUFTLHNCQUFRSixNQUFSLEVBQWdCRyxJQUFoQixDQUFmOztBQUVBSixJQUFFTSxTQUFGLENBQVlELE1BQVosRUFBb0I7QUFDbEJILFdBQU8sR0FEVztBQUVsQkMsV0FBTztBQUZXLEdBQXBCO0FBSUQsQ0FsQkQ7O0FBb0JBLGVBQUssd0hBQUwsRUFBK0hILEtBQUs7QUFDbEksUUFBTUMsU0FBUztBQUNiQyxXQUFPLEVBRE07QUFFYkMsV0FBTztBQUZNLEdBQWY7O0FBS0EsUUFBTUMsT0FBTztBQUNYRixXQUFPO0FBREksR0FBYjs7QUFJQSxRQUFNRyxTQUFTLHNCQUFRSixNQUFSLEVBQWdCRyxJQUFoQixDQUFmOztBQUVBSixJQUFFTSxTQUFGLENBQVlELE1BQVosRUFBb0I7QUFDbEJILFdBQU87QUFEVyxHQUFwQjtBQUdELENBZkQiLCJmaWxlIjoidG8tanNvbi50ZXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdGVzdCB9IGZyb20gJ2F2YSdcbmltcG9ydCBzdWJqZWN0IGZyb20gJy4vdG8tanNvbidcblxudGVzdCgnR2l2ZW4gZGF0YSB3aXRoIHNhbWUga2V5cyBhcyBzY2hlbWEsIHdoZW4gdG9KU09OIGlzIGNhbGxlZCwgdGhlbiBpcyBzaG91bGQgcmV0dXJuIHRoZSBzYW1lIHZhbHVlcycsIHQgPT4ge1xuICBjb25zdCBzY2hlbWEgPSB7XG4gICAgcHJvcDE6IHt9LFxuICAgIHByb3AyOiB7fVxuICB9XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICBwcm9wMTogJ2EnLFxuICAgIHByb3AyOiAnYidcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHN1YmplY3Qoc2NoZW1hLCBkYXRhKVxuXG4gIHQuZGVlcEVxdWFsKHJlc3VsdCwgZGF0YSlcbn0pXG5cbnRlc3QoJ0dpdmVuIGRhdGEgd2l0aCBtb3JlIGtleXMgdGhhbiBzY2hlbWEsIHdoZW4gdG9KU09OIGlzIGNhbGxlZCwgdGhlbiBpcyBzaG91bGQgcmV0dXJuIGRhdGEgc3RyaXBwZWQgZnJvbSB0aGUgZXh0cmEga2V5cycsIHQgPT4ge1xuICBjb25zdCBzY2hlbWEgPSB7XG4gICAgcHJvcDE6IHt9LFxuICAgIHByb3AyOiB7fVxuICB9XG5cbiAgY29uc3QgZGF0YSA9IHtcbiAgICBwcm9wMTogJ2EnLFxuICAgIHByb3AyOiAnYicsXG4gICAgbm90SW5TY2hlbWE6ICdjJ1xuICB9XG5cbiAgY29uc3QgcmVzdWx0ID0gc3ViamVjdChzY2hlbWEsIGRhdGEpXG5cbiAgdC5kZWVwRXF1YWwocmVzdWx0LCB7XG4gICAgcHJvcDE6ICdhJyxcbiAgICBwcm9wMjogJ2InXG4gIH0pXG59KVxuXG50ZXN0KCdHaXZlbiBkYXRhIHdpdGggbGVzcyBrZXlzIHRoYW4gc2NoZW1hLCB3aGVuIHRvSlNPTiBpcyBjYWxsZWQsIHRoZW4gaXMgc2hvdWxkIHJldHVybiBkYXRhIHdpdGggbm9uZSBvZiB0aGUgbWlzc2luZyBrZXlzJywgdCA9PiB7XG4gIGNvbnN0IHNjaGVtYSA9IHtcbiAgICBwcm9wMToge30sXG4gICAgcHJvcDI6IHt9XG4gIH1cblxuICBjb25zdCBkYXRhID0ge1xuICAgIHByb3AxOiAnYSdcbiAgfVxuXG4gIGNvbnN0IHJlc3VsdCA9IHN1YmplY3Qoc2NoZW1hLCBkYXRhKVxuXG4gIHQuZGVlcEVxdWFsKHJlc3VsdCwge1xuICAgIHByb3AxOiAnYSdcbiAgfSlcbn0pXG4iXX0=