test(AddressList): update test cases (#8006)

This commit is contained in:
neverland 2021-01-26 14:58:33 +08:00 committed by GitHub
parent a0edab96d9
commit 351755b506
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 93 deletions

View File

@ -1,29 +0,0 @@
// Jest Snapshot v1, https://goo.gl/fbAQLP
exports[`unswitchable 1`] = `
<div class="van-address-list">
<div role="radiogroup" class="van-radio-group">
<div class="van-address-item">
<div class="van-cell van-cell--borderless">
<div class="van-cell__value van-cell__value--alone van-address-item__value">
<div class="van-address-item__name">张三 13000000000</div>
<div class="van-address-item__address">浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室</div>
</div><i class="van-icon van-icon-edit van-address-item__edit">
<!----></i>
</div>
</div>
<div class="van-address-item">
<div class="van-cell van-cell--borderless">
<div class="van-cell__value van-cell__value--alone van-address-item__value">
<div class="van-address-item__name">李四 1310000000</div>
<div class="van-address-item__address">浙江省杭州市拱墅区莫干山路 50 号</div>
</div><i class="van-icon van-icon-edit van-address-item__edit">
<!----></i>
</div>
</div>
</div>
<div class="van-address-list__bottom"><button class="van-button van-button--danger van-button--normal van-button--block van-button--round van-address-list__add">
<div class="van-button__content"><span class="van-button__text">新增地址</span></div>
</button></div>
</div>
`;

View File

@ -1,64 +0,0 @@
import { mount } from '@vue/test-utils';
import AddressList from '..';
const list = [
{
id: '1',
name: '张三',
tel: '13000000000',
address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室',
},
{
id: '2',
name: '李四',
tel: '1310000000',
address: '浙江省杭州市拱墅区莫干山路 50 号',
},
];
test('unswitchable', () => {
const wrapper = mount(AddressList, {
props: {
list,
switchable: false,
},
});
expect(wrapper.html()).toMatchSnapshot();
});
test('select event', () => {
const onSelect = jest.fn();
const wrapper = mount(AddressList, {
props: {
list,
},
context: {
on: {
select: onSelect,
},
},
});
wrapper.find('.van-radio__icon').trigger('click');
expect(onSelect).toHaveBeenCalledTimes(1);
});
test('click-item event', () => {
const onClickItem = jest.fn();
const wrapper = mount(AddressList, {
props: {
list,
},
context: {
on: {
'click-item': onClickItem,
},
},
});
wrapper.find('.van-address-item').trigger('click');
expect(onClickItem).toHaveBeenCalledTimes(1);
});

View File

@ -0,0 +1,52 @@
import { mount } from '@vue/test-utils';
import AddressList from '..';
const list = [
{
id: '1',
name: 'Name 1',
tel: '13000000000',
address: 'Address 1',
},
{
id: '2',
name: 'Name 2',
tel: '1310000000',
address: 'Address 2',
},
];
test('should not render Radio when switchable is false', async () => {
const wrapper = mount(AddressList, {
props: {
list,
switchable: false,
},
});
expect(wrapper.find('.van-radio').exists()).toBeFalsy();
});
test('should emit select event after clicking radio icon', () => {
const wrapper = mount(AddressList, {
props: {
list,
},
});
wrapper.find('.van-radio__icon').trigger('click');
expect(wrapper.emitted('select')[0]).toEqual([list[0], 0]);
});
test('should emit click-item event when item is clicked', () => {
const wrapper = mount(AddressList, {
props: {
list,
},
});
wrapper.find('.van-address-item').trigger('click');
expect(wrapper.emitted('click-item')[0]).toEqual([list[0], 0]);
});