1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-01-01 00:08:27 +01:00
unleash.unleash/frontend/src/utils/deepOmit.test.ts
2024-05-14 12:42:39 +02:00

80 lines
1.9 KiB
TypeScript

import { deepOmit } from './deepOmit';
test('should omit all instances of a given field', () => {
const input = {
name: 'some-name',
color: 'blue',
children: {
name: 'some-name',
color: 'blue',
children: {
name: 'some-name',
color: 'blue',
children: {
name: 'some-name',
color: 'blue',
children: {},
},
},
},
};
expect(deepOmit(input, 'name')).toEqual({
color: 'blue',
children: {
color: 'blue',
children: {
color: 'blue',
children: {
color: 'blue',
children: {},
},
},
},
});
expect(deepOmit(input, 'color')).toEqual({
name: 'some-name',
children: {
name: 'some-name',
children: {
name: 'some-name',
children: {
name: 'some-name',
children: {},
},
},
},
});
});
test('should omit all instances of multiple fields', () => {
const input = {
name: 'some-name',
color: 'blue',
children: {
name: 'some-name',
color: 'blue',
children: {
name: 'some-name',
color: 'blue',
children: {
name: 'some-name',
color: 'blue',
children: {},
},
},
},
};
expect(deepOmit(input, 'name', 'color')).toEqual({
children: {
children: {
children: {
children: {},
},
},
},
});
});