mirror of
https://github.com/youzan/vant.git
synced 2025-10-19 10:07:07 +00:00
Remove ExpressWay
This commit is contained in:
@@ -1,201 +0,0 @@
|
||||
import ExpressWay from 'packages/express-way';
|
||||
import { mount } from 'avoriaz';
|
||||
import { DOMChecker } from '../utils';
|
||||
|
||||
const mockData = [{
|
||||
'postage': 10050,
|
||||
'postage_desc': '由商家门店提供配送服务, 起送价 0.01 元',
|
||||
'postage_title': '同城配送',
|
||||
'express_type': 1
|
||||
}, {
|
||||
'postage': 0,
|
||||
'postage_desc': '由商家选择合作快递为您服务',
|
||||
'postage_title': '快递发货',
|
||||
'express_type': 2,
|
||||
'postage_warn_desc': '3天后发货'
|
||||
}];
|
||||
|
||||
describe('ExpressWay', () => {
|
||||
let wrapper;
|
||||
afterEach(() => {
|
||||
wrapper && wrapper.destroy();
|
||||
});
|
||||
|
||||
it('default', () => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
text: {
|
||||
'.van-cell__text': '配送方式',
|
||||
'.van-express-way__fee': '¥100.50',
|
||||
'.van-express-way__type': mockData[0].postage_title,
|
||||
'.van-actionsheet__header h3': '配送方式',
|
||||
'.van-express-way-option__title span': mockData[0].postage_title,
|
||||
'.van-express-way-option__content p': mockData[0].postage_desc
|
||||
},
|
||||
count: {
|
||||
'.van-icon-arrow': 1
|
||||
},
|
||||
style: {
|
||||
'.van-actionsheet': {
|
||||
display: 'none'
|
||||
}
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('show actionsheet', (done) => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
// 点击后弹出 actionsheet
|
||||
const cells = wrapper.find('.van-cell');
|
||||
cells[cells.length - 1].trigger('click');
|
||||
setTimeout(() => {
|
||||
expect(wrapper.find('.van-actionsheet')[0].hasStyle('display', 'none')).to.equal(false);
|
||||
done();
|
||||
}, 500);
|
||||
});
|
||||
|
||||
it('change express way', (done) => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
wrapper.vm.$on('input', val => {
|
||||
wrapper.vm.value = val;
|
||||
});
|
||||
|
||||
// 点击后弹出 actionsheet
|
||||
const cells = wrapper.find('.van-cell');
|
||||
cells[cells.length - 1].trigger('click');
|
||||
|
||||
// 监听 change 事件
|
||||
const submitSpyFunc = sinon.spy();
|
||||
wrapper.vm.$on('change', submitSpyFunc);
|
||||
|
||||
setTimeout(() => {
|
||||
expect(wrapper.find('.van-actionsheet')[0].hasStyle('display', 'none')).to.equal(false);
|
||||
|
||||
const secondOption = wrapper.find('.van-express-way-option')[1];
|
||||
secondOption.trigger('click');
|
||||
|
||||
setTimeout(() => {
|
||||
expect(wrapper.find('.van-actionsheet')[0].hasStyle('display', 'none')).to.equal(true);
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
text: {
|
||||
'.van-express-way__fee': '免运费',
|
||||
'.van-express-way__type': mockData[1].postage_title
|
||||
}
|
||||
});
|
||||
|
||||
// 修改后触发 change 事件
|
||||
expect(submitSpyFunc.calledOnce).to.be.true;
|
||||
done();
|
||||
}, 500);
|
||||
}, 500);
|
||||
});
|
||||
|
||||
it('cellTitle prop', () => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
cellTitle: '测试标题',
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
text: {
|
||||
'.van-cell__text': '测试标题'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('actionsheetTitle prop', () => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
actionsheetTitle: '测试标题',
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
text: {
|
||||
'.van-actionsheet__header h3': '测试标题'
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('set editable false ', () => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
editable: false,
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
count: {
|
||||
'.van-icon-arrow': 0,
|
||||
'.van-actionsheet': 0
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('not editable when only one option', () => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: 1,
|
||||
editable: true,
|
||||
expressList: mockData.slice(0, 1)
|
||||
}
|
||||
});
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
count: {
|
||||
'.van-icon-arrow': 0,
|
||||
'.van-actionsheet': 0
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
it('unexist express type', () => {
|
||||
wrapper = mount(ExpressWay, {
|
||||
attachToDocument: true,
|
||||
propsData: {
|
||||
value: -1,
|
||||
expressList: mockData
|
||||
}
|
||||
});
|
||||
|
||||
DOMChecker(wrapper, {
|
||||
text: {
|
||||
'.van-express-way__fee': '',
|
||||
'.van-express-way__type': ''
|
||||
}
|
||||
});
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user