1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28import { reducer } from './reducer';
describe('reducer', () => {
it('should convert array object pair to key-value object', () => {
const query = [
{ name: 'key', value: 'value' },
{ name: 'foo', value: 'bar' },
];
const result = query.reduce(reducer, {});
expect(result).toMatchObject({ key: 'value', foo: 'bar' });
});
it('should convert multi-dimensional arrays to key=[array] object', () => {
const query = [
{ name: 'key', value: 'value' },
{ name: 'foo', value: 'bar1' },
{ name: 'foo', value: 'bar2' },
{ name: 'foo', value: 'bar3' },
];
const result = query.reduce(reducer, {});
expect(result).toMatchObject({ key: 'value', foo: ['bar1', 'bar2', 'bar3'] });
});
});