56 lines
1.4 KiB
TypeScript
56 lines
1.4 KiB
TypeScript
import { mergeLinkmans } from '../../src/state/reducer';
|
|
import { Linkman } from '../../src/types/redux';
|
|
|
|
describe('mergeLinkmans', () => {
|
|
it('should return linkmans which is newly and reserve history messages', () => {
|
|
const linkmans1 = [
|
|
{
|
|
_id: 'l1',
|
|
name: 'l1',
|
|
messages: [],
|
|
},
|
|
{
|
|
_id: 'l2',
|
|
name: 'l2',
|
|
messages: [
|
|
{
|
|
_id: 'm1',
|
|
},
|
|
{
|
|
_id: 'm2',
|
|
},
|
|
],
|
|
},
|
|
];
|
|
const linkmans2 = [
|
|
{
|
|
_id: 'l2',
|
|
name: 'l2',
|
|
messages: [
|
|
{
|
|
_id: 'm1',
|
|
},
|
|
{
|
|
_id: 'm2',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
_id: 'l3',
|
|
name: 'l3',
|
|
messages: [],
|
|
},
|
|
];
|
|
|
|
const linkmans = mergeLinkmans(
|
|
linkmans1 as any,
|
|
linkmans2 as any,
|
|
) as Linkman[];
|
|
expect(linkmans).toHaveLength(2);
|
|
expect(linkmans[0]._id).toBe('l2');
|
|
expect(linkmans[1]._id).toBe('l3');
|
|
|
|
expect(linkmans[0].messages).toHaveLength(2);
|
|
});
|
|
});
|