Files
habitica/test/common/libs/pickDeep.js

35 lines
744 B
JavaScript

import pickDeep from '../../../common/script/libs/pickDeep';
describe('pickDeep', () => {
it('throws an error if "properties" is not an array', () => {
expect(pickDeep).to.throw(Error);
});
it('returns an object of properties taken from the input object', () => {
let obj = {
a: true,
b: [1, 2, 3],
c: {
nested: {
two: {
times: true,
},
},
},
d: false,
};
let res = pickDeep(obj, ['a', 'b[0]', 'c.nested.two.times']);
expect(res.a).to.be.true;
expect(res.b).to.eql([1]);
expect(res.c).to.eql({
nested: {
two: {
times: true,
},
},
});
expect(res).to.not.have.property('d');
});
});