UNPKG

databridge

Version:

Data bridging software to modularize, automate and schedule the transfer of data between different sources and destinations.

41 lines (36 loc) 1.31 kB
var assert = require('chai').assert; var missingKeys = require('../bin/missing-keys'); var obj = { 'one': 1, 'two': 2, 'three': 3 }; var arr = ['one', 'two', 'three']; var arr2 = ['one', 'two', 'four']; describe('Testing bin/missing-keys', function() { it('Throws error when passed string, array', function() { assert.throws(function() { missingKeys('test', arr); }, Error, 'parameter must be'); }); it('Throws error when passed object, string', function() { assert.throws(function() { missingKeys(obj, 'string'); }, Error, 'parameter must be'); }); it('Throws error when passed string, string', function() { assert.throws(function() { missingKeys('string', 'string'); }, Error, 'parameter must be'); }); it('Returns false when obj contains all array keys', function() { var r = missingKeys(obj, arr); assert(r == false, r); }); it('Returns missing keys array when obj is missing keys', function() { var r = missingKeys(obj, arr2); assert(r instanceof Array, 'Did not return array: ' + r); assert(r.length == 1, 'Array returned was longer than one elment: ' + r.toString()); assert(r.indexOf('four') == 0, 'Array returned did not contain \'four\': ' + r.toString()); }); });