nestjs-api-tools
Version:
Wrappers for convenient API development including validation, logging and i18n wrappers
57 lines • 2.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const replacer_1 = require("./replacer");
describe('replacer', () => {
describe('createJsonReplacer', () => {
it('should create replacer function', () => {
const object = { a: 1, b: 2, c: 3 };
const fieldsToExclude = ['a', 'e'];
const replacerFunction = (0, replacer_1.createJsonReplacer)(fieldsToExclude);
Object
.entries(object)
.forEach(([k, v]) => {
if (fieldsToExclude.includes(k)) {
expect(replacerFunction(k, v)).toBeUndefined();
}
else {
expect(replacerFunction(k, v)).toEqual(v);
}
});
});
});
describe('replacer', () => {
describe.each([
[{ name: 'Sergey', age: 20 }, ['name', 'age'], {}],
[{ name: 'Sergey', age: 20 }, ['age'], { name: 'Sergey' }],
[{ name: 'Sergey', age: 20 }, [], { name: 'Sergey', age: 20 }],
[{ name: 'Sergey', age: 20 }, ['test'], { name: 'Sergey', age: 20 }],
])('obj %o keysToExclude %s', (obj, keysToExclude, result) => {
it('should return object without excluded fields', () => {
expect((0, replacer_1.replacer)(obj, keysToExclude)).toEqual(result);
});
});
});
describe('replaceRussianLettersForSearch', () => {
describe.each([
[null],
[undefined],
[[]],
[''],
])('search: %o', (search) => {
it('should leave search unchanged if its is not string', () => {
expect((0, replacer_1.replaceRussianLettersForSearch)(search)).toEqual(search);
});
});
describe.each([
['sfg', 'sfg'],
['мама мыла раму', 'мама мыла раму'],
['Королёк - птица певчая', 'Королек - птица певчая'],
['еееёёёёёее', 'ееееееееее'],
])('search: %o, expected: %o', (search, expected) => {
it('should replace е to ё', () => {
expect((0, replacer_1.replaceRussianLettersForSearch)(search)).toEqual(expected);
});
});
});
});
//# sourceMappingURL=replacer.spec.js.map