mirror of
https://github.com/trezor/trezor-suite.git
synced 2026-03-19 05:38:41 +01:00
48 lines
1.5 KiB
TypeScript
48 lines
1.5 KiB
TypeScript
import { arrayToDictionary } from '../src/arrayToDictionary';
|
|
|
|
describe('arrayToDictionary', () => {
|
|
it('array with unique keys', () => {
|
|
const array = [
|
|
{ value: true, name: 'a' },
|
|
{ value: true, name: 'b' },
|
|
{ value: false, name: 'c' },
|
|
{ value: true, name: 'd' },
|
|
{ value: false, name: 'e' },
|
|
];
|
|
const dictionary = arrayToDictionary(array, e => e.name);
|
|
expect(dictionary).toStrictEqual({
|
|
a: { value: true, name: 'a' },
|
|
b: { value: true, name: 'b' },
|
|
c: { value: false, name: 'c' },
|
|
d: { value: true, name: 'd' },
|
|
e: { value: false, name: 'e' },
|
|
});
|
|
});
|
|
|
|
it('array with repeating keys', () => {
|
|
const array = [
|
|
{ value: 1, name: 'a' },
|
|
{ value: 2, name: 'b' },
|
|
{ value: 3, name: 'c' },
|
|
{ value: 4, name: 'b' },
|
|
];
|
|
const dictionary = arrayToDictionary(array, e => e.name);
|
|
expect(dictionary).toStrictEqual({
|
|
a: { value: 1, name: 'a' },
|
|
b: { value: 4, name: 'b' },
|
|
c: { value: 3, name: 'c' },
|
|
});
|
|
});
|
|
|
|
it('array with calculated keys', () => {
|
|
const array = ['aalpha', 'bbeta', 'ggamma', 'ddelta'];
|
|
const dictionary = arrayToDictionary(array, e => e.toUpperCase().slice(1));
|
|
expect(dictionary).toStrictEqual({
|
|
ALPHA: 'aalpha',
|
|
BETA: 'bbeta',
|
|
GAMMA: 'ggamma',
|
|
DELTA: 'ddelta',
|
|
});
|
|
});
|
|
});
|