@cainiaofe/cn-ui-m
Version:
122 lines (121 loc) • 3.77 kB
JavaScript
import { getSubmitData } from '../get-submit-data';
describe('getSubmitData', function () {
test('should return correct values and records when there are selected items', function () {
var dataSource = [
{
label: 'Item 1',
value: '1',
pos: '0',
checked: true,
indeterminate: false,
},
{
label: 'Item 2',
value: '2',
pos: '1',
checked: false,
indeterminate: true,
children: [
{
label: 'Item 2-1',
value: '2-1',
pos: '1-0',
checked: true,
indeterminate: false,
},
{
label: 'Item 2-2',
value: '2-2',
pos: '1-1',
checked: false,
indeterminate: false,
},
],
},
];
var result = getSubmitData(dataSource);
expect(result.values).toEqual(['1', '2-1']);
expect(result.records).toEqual([
{
label: 'Item 1',
value: '1',
pos: '0',
touchOrder: undefined,
},
{
label: 'Item 2-1',
value: '2-1',
pos: '1-0',
touchOrder: undefined,
},
]);
expect(result.details).toEqual({
checkedData: [
{
label: 'Item 1',
value: '1',
pos: '0',
touchOrder: undefined,
},
{
label: 'Item 2-1',
value: '2-1',
pos: '1-0',
touchOrder: undefined,
},
],
indeterminateData: [
{
label: 'Item 2',
value: '2',
pos: '1',
touchOrder: undefined,
children: [
{
label: 'Item 2-1',
value: '2-1',
pos: '1-0',
checked: true,
indeterminate: false,
},
{
label: 'Item 2-2',
value: '2-2',
pos: '1-1',
checked: false,
indeterminate: false,
},
],
},
],
});
});
test('should return empty values and records when there are no selected items', function () {
var dataSource = [
{
label: 'Item 1',
value: '1',
checked: false,
},
{
label: 'Item 2',
value: '2',
checked: false,
children: [
{
label: 'Item 2-1',
value: '2-1',
checked: false,
},
],
},
];
var result = getSubmitData(dataSource);
expect(result.values).toEqual([]);
expect(result.records).toEqual([]);
expect(result.details).toEqual({
checkedData: [],
indeterminateData: [],
});
});
});