ra-core
Version:
Core components of react-admin, a frontend Framework for building admin applications on top of REST services, using ES6, React
77 lines (71 loc) • 1.78 kB
text/typescript
import expect from 'expect';
import removeKey from './removeKey';
describe('removeKey', () => {
const target = {
foo: 'bar',
deep: {
foo: '',
deep2: {
foo: '',
},
deep3: {
foo: '',
deep4: '',
},
},
};
it('remove simple key from target', () => {
expect(removeKey(target, 'foo')).toEqual({
deep: {
foo: '',
deep2: {
foo: '',
},
deep3: {
foo: '',
deep4: '',
},
},
});
});
it('remove first level deep key from target', () => {
expect(removeKey(target, 'deep.foo')).toEqual({
foo: 'bar',
deep: {
deep2: {
foo: '',
},
deep3: {
foo: '',
deep4: '',
},
},
});
});
it('remove deep key from target', () => {
expect(removeKey(target, 'deep.deep2.foo')).toEqual({
foo: 'bar',
deep: {
foo: '',
deep3: {
foo: '',
deep4: '',
},
},
});
});
it('remove deep key from target keeping deep object if not empty', () => {
expect(removeKey(target, 'deep.deep3.foo')).toEqual({
foo: 'bar',
deep: {
foo: '',
deep2: {
foo: '',
},
deep3: {
deep4: '',
},
},
});
});
});