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'); }); });