@cainiaofe/cn-ui-m
Version:
194 lines (193 loc) • 5.99 kB
JavaScript
import { selectNodeInTree } from '../select-node-in-tree';
describe('selectNodeInTree', function () {
var nodes = [
{
label: 'Node 1',
value: 'Node 1',
pos: '1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 2',
value: 'Node 2',
pos: '2',
checked: false,
indeterminate: true,
children: [
{
label: 'Node 2-1',
value: 'Node 2-1',
pos: '2-1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 2-2',
value: 'Node 2-2',
pos: '2-2',
checked: true,
indeterminate: false,
children: [],
},
],
},
{
label: 'Node 3',
value: 'Node 3',
pos: '3',
checked: false,
indeterminate: false,
children: [
{
label: 'Node 3-1',
value: 'Node 3-1',
pos: '3-1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 3-2',
value: 'Node 3-2',
pos: '3-2',
checked: false,
indeterminate: false,
children: [],
},
],
},
];
it('should select a node in the tree', function () {
var result = selectNodeInTree(nodes, '3', true);
expect(result).toEqual([
{
label: 'Node 1',
value: 'Node 1',
pos: '1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 2',
value: 'Node 2',
pos: '2',
checked: false,
indeterminate: true,
children: [
{
label: 'Node 2-1',
value: 'Node 2-1',
pos: '2-1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 2-2',
value: 'Node 2-2',
pos: '2-2',
checked: true,
indeterminate: false,
children: [],
},
],
},
{
label: 'Node 3',
value: 'Node 3',
pos: '3',
checked: true,
indeterminate: false,
children: [
{
label: 'Node 3-1',
value: 'Node 3-1',
pos: '3-1',
checked: true,
indeterminate: false,
children: [],
},
{
label: 'Node 3-2',
value: 'Node 3-2',
pos: '3-2',
checked: true,
indeterminate: false,
children: [],
},
],
},
]);
});
it('should unselect a node in the tree', function () {
var result = selectNodeInTree(nodes, '2-2', false);
expect(result).toEqual([
{
label: 'Node 1',
value: 'Node 1',
pos: '1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 2',
value: 'Node 2',
pos: '2',
checked: false,
indeterminate: true,
children: [
{
label: 'Node 2-1',
value: 'Node 2-1',
pos: '2-1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 2-2',
value: 'Node 2-2',
pos: '2-2',
checked: false,
indeterminate: false,
children: [],
},
],
},
{
label: 'Node 3',
value: 'Node 3',
pos: '3',
checked: false,
indeterminate: false,
children: [
{
label: 'Node 3-1',
value: 'Node 3-1',
pos: '3-1',
checked: false,
indeterminate: false,
children: [],
},
{
label: 'Node 3-2',
value: 'Node 3-2',
pos: '3-2',
checked: false,
indeterminate: false,
children: [],
},
],
},
]);
});
it('should not modify the tree if the node is not found', function () {
var result = selectNodeInTree(nodes, '4', true);
expect(result).toEqual(nodes);
});
});