mirror of
https://github.com/youzan/vant.git
synced 2025-10-19 18:14:13 +00:00
144 lines
2.7 KiB
JavaScript
144 lines
2.7 KiB
JavaScript
import TreeSelect from '..';
|
|
import { mount } from '../../../test/utils';
|
|
|
|
test('empty list', () => {
|
|
expect(mount(TreeSelect)).toMatchSnapshot();
|
|
});
|
|
|
|
test('click-nav event', () => {
|
|
const onNavClick = jest.fn();
|
|
const onClickNav = jest.fn();
|
|
const item = {
|
|
text: 'city1',
|
|
id: 1
|
|
};
|
|
|
|
const wrapper = mount(TreeSelect, {
|
|
propsData: {
|
|
items: [
|
|
{
|
|
text: 'group1',
|
|
children: [item]
|
|
}
|
|
]
|
|
},
|
|
context: {
|
|
on: {
|
|
navclick: onNavClick,
|
|
'click-nav': onClickNav
|
|
}
|
|
}
|
|
});
|
|
|
|
const items = wrapper.findAll('.van-tree-select__nav-item');
|
|
items.at(0).trigger('click');
|
|
expect(onNavClick).toHaveBeenCalledWith(0);
|
|
expect(onClickNav).toHaveBeenCalledWith(0);
|
|
});
|
|
|
|
test('click-item event', () => {
|
|
const onItemClick = jest.fn();
|
|
const onClickItem = jest.fn();
|
|
const item = {
|
|
text: 'city1',
|
|
id: 1
|
|
};
|
|
|
|
const wrapper = mount(TreeSelect, {
|
|
propsData: {
|
|
items: [
|
|
{
|
|
text: 'group1',
|
|
children: [item]
|
|
}
|
|
]
|
|
},
|
|
context: {
|
|
on: {
|
|
itemclick: onItemClick,
|
|
'click-item': onClickItem
|
|
}
|
|
}
|
|
});
|
|
|
|
const items = wrapper.findAll('.van-tree-select__item');
|
|
items.at(0).trigger('click');
|
|
expect(onItemClick).toHaveBeenCalledWith(item);
|
|
expect(onClickItem).toHaveBeenCalledWith(item);
|
|
});
|
|
|
|
test('click disabled nav', () => {
|
|
const onClickNav = jest.fn();
|
|
const item = {
|
|
text: 'city1',
|
|
id: 1
|
|
};
|
|
|
|
const wrapper = mount(TreeSelect, {
|
|
propsData: {
|
|
items: [
|
|
{
|
|
text: 'group1',
|
|
children: [item],
|
|
disabled: true
|
|
}
|
|
]
|
|
},
|
|
context: {
|
|
on: {
|
|
'click-nav': onClickNav
|
|
}
|
|
}
|
|
});
|
|
|
|
const items = wrapper.findAll('.van-tree-select__nav-item');
|
|
items.at(0).trigger('click');
|
|
expect(onClickNav).toHaveBeenCalledTimes(0);
|
|
});
|
|
|
|
test('click disabled item', () => {
|
|
const onClickItem = jest.fn();
|
|
const wrapper = mount(TreeSelect, {
|
|
propsData: {
|
|
items: [
|
|
{
|
|
text: 'group1',
|
|
children: [
|
|
{
|
|
text: 'city1',
|
|
id: 1,
|
|
disabled: true
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
context: {
|
|
on: {
|
|
'click-item': onClickItem
|
|
}
|
|
}
|
|
});
|
|
|
|
const items = wrapper.findAll('.van-tree-select__item');
|
|
items.at(0).trigger('click');
|
|
expect(onClickItem).toHaveBeenCalledTimes(0);
|
|
});
|
|
|
|
test('content slot', () => {
|
|
const wrapper = mount(TreeSelect, {
|
|
propsData: {
|
|
items: [
|
|
{
|
|
text: 'group1'
|
|
}
|
|
]
|
|
},
|
|
scopedSlots: {
|
|
content: () => 'Custom Content'
|
|
}
|
|
});
|
|
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|