vant/test/unit/specs/address-list.spec.js
2017-09-21 16:26:40 +08:00

81 lines
1.8 KiB
JavaScript

import { mount } from 'avoriaz';
import AddressList from 'packages/address-list';
const list = [
{
id: '1',
name: '张三',
tel: '13000000000',
address: '浙江省杭州市西湖区文三路 138 号东方通信大厦 7 楼 501 室'
},
{
id: '2',
name: '李四',
tel: '1310000000',
address: '浙江省杭州市拱墅区莫干山路 50 号'
},
{
id: '3',
name: '王五',
tel: '1320000000',
address: '浙江省杭州市滨江区江南大道 15 号'
}
];
describe('AddressList', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('create a AddressList', () => {
wrapper = mount(AddressList);
expect(wrapper.hasClass('van-address-list')).to.be.true;
});
it('create a AddressList with three items', () => {
wrapper = mount(AddressList, {
propsData: {
value: '1',
list
}
});
expect(wrapper.find('.van-address-list__group .van-cell').length).to.equal(3);
expect(wrapper.find('.van-icon-checked').length).to.equal(1);
});
it('listen to add & edit event', (done) => {
wrapper = mount(AddressList, {
propsData: {
list
}
});
const add = sinon.spy();
wrapper.vm.$on('add', add);
wrapper.find('.van-address-list__add')[0].trigger('click');
expect(add.calledOnce).to.be.true;
wrapper.vm.$on('edit', (item, index) => {
expect(index).to.equal(0);
done();
});
wrapper.find('.van-address-list__edit')[0].trigger('click');
});
it('listen to change event', (done) => {
wrapper = mount(AddressList, {
propsData: {
value: '1',
list
}
});
wrapper.vm.$on('change', (item, index) => {
expect(item.id).to.equal('3');
done();
});
wrapper.find('.van-radio')[2].trigger('click');
});
});