import { defaultGetChildren, isLeaf } from '@/utils' import { createTreeMate } from '@/index' describe('utils', () => { describe('#isLeaf', () => { it('works', () => { expect( isLeaf( { key: 0 }, defaultGetChildren ) ).toEqual(true) expect( isLeaf( { key: 0, children: [] }, defaultGetChildren ) ).toEqual(false) expect( isLeaf( { key: 0, isLeaf: true }, defaultGetChildren ) ).toEqual(true) expect( isLeaf( { key: 0, isLeaf: false }, defaultGetChildren ) ).toEqual(false) }) it('invalid edge case', () => { expect( isLeaf( { key: 0, children: [], isLeaf: true }, defaultGetChildren ) ).toEqual(true) }) }) describe('#getNonLeafKeys', () => { const data = [ { key: 1, children: [ { key: 2 }, { key: 3, children: [ { key: 4 } ] }, { type: 'group', key: 5, children: [ { key: 6 } ] } ] } ] it('works', () => { const tm = createTreeMate(data) expect(tm.getNonLeafKeys()).toEqual([1, 3]) }) it('works when `preserveGroup` = true', () => { const tm = createTreeMate(data) expect(tm.getNonLeafKeys({ preserveGroup: true })).toEqual([1, 3, 5]) }) }) })