import { getHostRows, getPureTreeContext } from './row'; describe('getHostRowsByDelete', () => { it('case0', () => { const rows = [ { id: 1, i: 0, level: 1, cellIds: [1] }, { id: 2, i: 1, level: 2, cellIds: [2] }, { id: 3, i: 2, level: 3, cellIds: [3] }, { id: 4, i: 3, level: 3, cellIds: [4] }, { id: 5, i: 4, level: 1, cellIds: [5] }, ]; const cells = { 1: { rowId: 1, i: 0, j: 0 }, 2: { rowId: 2, i: 1, j: 0 }, 3: { rowId: 3, i: 2, j: 0 }, 4: { rowId: 4, i: 3, j: 0 }, 5: { rowId: 5, i: 4, j: 0 }, }; const state = { rows, cells, cellDeps: { 4: [2], 3: [2], 2: [1], 1: [5], }, } as any; expect(getHostRows(state, 0)).toEqual([5]); expect(getHostRows(state, 1)).toEqual([1, 5]); expect(getHostRows(state, 2)).toEqual([2, 1, 5]); expect(getHostRows(state, 3)).toEqual([2, 1, 5]); expect(getHostRows(state, 4)).toEqual([]); }); }); describe('getPureTreeContext', () => { it('case0', () => { const rows = [ { id: 1, i: 0, level: 1, cellIds: [1] }, { id: 2, i: 1, level: 2, cellIds: [2] }, { id: 3, i: 2, level: 3, cellIds: [3] }, { id: 4, i: 3, level: 3, cellIds: [4] }, { id: 5, i: 4, level: 1, cellIds: [5] }, { id: 6, i: 5, area: 'flatten', cellIds: [6] }, { id: 7, i: 6, type: 'header', cellIds: [7] }, ]; const cells = { 1: { rowId: 1, i: 0, j: 0 }, 2: { rowId: 2, i: 1, j: 0 }, 3: { rowId: 3, i: 2, j: 0 }, 4: { rowId: 4, i: 3, j: 0 }, 5: { rowId: 5, i: 4, j: 0 }, 6: { rowId: 6, i: 5, j: 0 }, 7: { rowId: 7, i: 6, j: 0 }, }; const state = { rows, cells } as any; const treeContext = { '-1': { id: -1, childrenIds: [1, 5, 6, 7] }, '1': { id: 1, childrenIds: [2] }, '2': { id: 2, childrenIds: [3, 4] }, '3': { id: 3 }, '4': { id: 4 }, '5': { id: 5 }, '6': { id: 6 }, '7': { id: 7 }, } as any; const expected = { '-1': { id: -1, childrenIds: [1, 5] }, '1': { id: 1, childrenIds: [2] }, '2': { id: 2, childrenIds: [3, 4] }, '3': { id: 3 }, '4': { id: 4 }, '5': { id: 5 }, }; expect(getPureTreeContext(state, treeContext)).toEqual(expected); }); });