@cainiaofe/cn-ui-m
Version:
82 lines (81 loc) • 2.67 kB
JavaScript
import { calcSelectedList } from '../calc-selected-list'; // Replace 'your-module' with the correct path to your module
describe('calcSelectedList', function () {
it('should return an empty array if value is not provided', function () {
var result = calcSelectedList([], undefined);
expect(result).toEqual([]);
});
it('should return an empty array if dataSource is not provided', function () {
var result = calcSelectedList(undefined, 'some-value');
expect(result).toEqual([]);
});
it('should return an empty array if dataSource is empty', function () {
var result = calcSelectedList([], 'some-value');
expect(result).toEqual([]);
});
it('should return the correct selected list for a given value and dataSource', function () {
var dataSource = [
{
value: '1',
label: 'Item 1',
children: [
{
value: '1-1',
label: 'Item 1-1',
children: [
{
value: '1-1-1',
label: 'Item 1-1-1',
},
],
},
{
value: '1-2',
label: 'Item 1-2',
},
],
},
{
value: '2',
label: 'Item 2',
},
];
var value = '1-1-1';
var result = calcSelectedList(dataSource, value);
expect(result).toEqual([
{
value: '1',
label: 'Item 1',
children: [
{
value: '1-1',
label: 'Item 1-1',
children: [
{
value: '1-1-1',
label: 'Item 1-1-1',
},
],
},
{
value: '1-2',
label: 'Item 1-2',
},
],
},
{
value: '1-1',
label: 'Item 1-1',
children: [
{
value: '1-1-1',
label: 'Item 1-1-1',
},
],
},
{
value: '1-1-1',
label: 'Item 1-1-1',
},
]);
});
});