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 ) ; } ) ; } ) ;