@itsmworkbench/utils
Version:
The usual utility functions
42 lines (41 loc) • 1.83 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
const jsontype_1 = require("./jsontype");
const appendTtoKey = (key) => key + '_t';
describe('transformKeys with s => s + "_t"', () => {
test('transforms keys of a simple object', () => {
const input = { key1: 'value1', key2: 'value2' };
const expected = { key1_t: 'value1', key2_t: 'value2' };
expect((0, jsontype_1.transformKeys)(appendTtoKey)(input)).toEqual(expected);
});
test('transforms keys in a nested object', () => {
const input = { level1: { key1: 'value1', key2: 'value2' } };
const expected = { level1_t: { key1_t: 'value1', key2_t: 'value2' } };
expect((0, jsontype_1.transformKeys)(appendTtoKey)(input)).toEqual(expected);
});
test('transforms keys in an array of objects', () => {
const input = [{ key1: 'value1' }, { key2: 'value2' }];
const expected = [{ key1_t: 'value1' }, { key2_t: 'value2' }];
expect((0, jsontype_1.transformKeys)(appendTtoKey)(input)).toEqual(expected);
});
test('transforms keys in a complex nested structure', () => {
const input = {
level1: {
key1: { level2: 'value1' },
key2: [{ level2: 'value2' }, { level3: 'value3' }]
}
};
const expected = {
level1_t: {
key1_t: { level2_t: 'value1' },
key2_t: [{ level2_t: 'value2' }, { level3_t: 'value3' }]
}
};
expect((0, jsontype_1.transformKeys)(appendTtoKey)(input)).toEqual(expected);
});
test('leaves primitives untouched', () => {
const input = 'testString';
const expected = 'testString';
expect((0, jsontype_1.transformKeys)(appendTtoKey)(input)).toEqual(expected);
});
});
;