Files
kami-parse-server/spec/Utils.spec.js

61 lines
1.3 KiB
JavaScript

const Utils = require('../src/Utils');
describe('Utils', () => {
describe('encodeForUrl', () => {
it('should properly escape email with all special ASCII characters for use in URLs', async () => {
const values = [
{ input: `!\"'),.:;<>?]^}`, output: '%21%22%27%29%2C%2E%3A%3B%3C%3E%3F%5D%5E%7D' },
]
for (const value of values) {
expect(Utils.encodeForUrl(value.input)).toBe(value.output);
}
});
});
describe('addNestedKeysToRoot', () => {
it('should move the nested keys to root of object', async () => {
const obj = {
a: 1,
b: {
c: 2,
d: 3
},
e: 4
};
Utils.addNestedKeysToRoot(obj, 'b');
expect(obj).toEqual({
a: 1,
c: 2,
d: 3,
e: 4
});
});
it('should not modify the object if the key does not exist', async () => {
const obj = {
a: 1,
e: 4
};
Utils.addNestedKeysToRoot(obj, 'b');
expect(obj).toEqual({
a: 1,
e: 4
});
});
it('should not modify the object if the key is not an object', () => {
const obj = {
a: 1,
b: 2,
e: 4
};
Utils.addNestedKeysToRoot(obj, 'b');
expect(obj).toEqual({
a: 1,
b: 2,
e: 4
});
});
});
});