@cainiaofe/cn-ui-m
Version:
211 lines (210 loc) • 6.39 kB
JavaScript
import React from 'react';
import { render, waitFor } from '@testing-library/react';
import { CnCascaderSelect } from '../index';
var options = [
{
label: '浙江',
value: '浙江',
children: [
{
label: '杭州',
value: '杭州',
children: [
{
label: '西湖区',
value: '西湖区',
children: [],
},
{
label: '上城区',
value: '上城区',
},
{
label: '余杭区',
value: '余杭区',
disabled: true,
},
],
},
{
label: '温州',
value: '温州',
children: [
{
label: '鹿城区',
value: '鹿城区',
},
{
label: '龙湾区',
value: '龙湾区',
disabled: true,
},
{
label: '瓯海区',
value: '瓯海区',
},
],
},
{
label: '宁波',
value: '宁波',
children: [
{
label: '海曙区',
value: '海曙区',
},
{
label: '江北区',
value: '江北区',
},
{
label: '镇海区',
value: '镇海区',
},
],
},
],
},
{
label: '安徽',
value: '安徽',
children: [
{
label: '合肥',
value: '合肥',
children: [
{
label: '包河区',
value: '包河区',
},
{
label: '蜀山区',
value: '蜀山区',
},
{
label: '瑶海区',
value: '瑶海区',
},
],
},
{
label: '芜湖',
value: '芜湖',
children: [
{
label: '镜湖区',
value: '镜湖区',
},
{
label: '弋江区',
value: '弋江区',
},
{
label: '湾沚区',
value: '湾沚区',
},
],
},
],
},
{
label: '江苏',
value: '江苏',
children: [
{
label: '南京',
value: '南京',
children: [
{
label: '玄武区',
value: '玄武区',
},
{
label: '秦淮区',
value: '秦淮区',
},
{
label: '建邺区',
value: '建邺区',
},
],
},
{
label: '苏州',
value: '苏州',
children: [
{
label: '虎丘区',
value: '虎丘区',
},
{
label: '吴中区',
value: '吴中区',
},
{
label: '相城区',
value: '相城区',
},
],
},
],
},
];
var dataSource = [
{
value: '2973',
label: '陕西',
children: [
{
value: '2974',
label: '西安',
children: [
{
value: '2975',
label: '西安市',
isLeaf: true,
},
{
value: '2976',
label: '高陵县',
isLeaf: true,
},
],
},
{
value: '2980',
label: '铜川',
children: [
{
value: '2981',
label: '铜川市',
isLeaf: true,
},
{
value: '2982',
label: '宜君县',
isLeaf: true,
},
],
},
],
},
];
describe('CnCascaderSelect组件检查', function () {
test('renders CnCascaderSelect component', function () {
var container = render(React.createElement(CnCascaderSelect, { dataSource: options, defaultValue: ['浙江', '杭州', '西湖区'] })).container;
expect(container.querySelector('.cn-ui-m-cascader')).toBeInTheDocument();
});
test('级联单选且value为string时,能够正确显示', function () {
var getByText = render(React.createElement(CnCascaderSelect, { dataSource: dataSource, value: '2974' })).getByText;
waitFor(function () {
expect(getByText('高陵县')).toBeInTheDocument();
});
});
test('级联单选且value为数组时,能够正确显示', function () {
var getByText = render(React.createElement(CnCascaderSelect, { dataSource: dataSource, value: ['2974'] })).getByText;
waitFor(function () {
expect(getByText('西安')).toBeInTheDocument();
});
});
});