[new feature] sku组件增加图片上传功能 (#612)

* [new feature] sku组件增加图片上传功能
This commit is contained in:
wny
2018-02-07 11:29:07 +08:00
committed by GitHub
parent 30e42284e9
commit 7b89e11701
11 changed files with 361 additions and 41 deletions

View File

@@ -1,4 +1,5 @@
import Sku from 'packages/sku';
import Uploader from 'packages/uploader';
import Toast from 'packages/toast';
import { mount } from 'avoriaz';
import { DOMChecker } from '../utils';
@@ -13,6 +14,13 @@ const initialSku = {
};
goods.picture = goods.picture[0];
const File = function() {
this.name = 'test';
this.size = 10000;
};
const mockFile = new File([], '/Users');
describe('Sku', (done) => {
let wrapper;
afterEach(() => {
@@ -239,7 +247,15 @@ describe('Sku', (done) => {
value: true,
sku: data.sku,
goodsId: data.goods_id,
goods: goods
goods: goods,
messageConfig: {
uploadImg: () => {
return new Promise((resolve) => {
setTimeout(() => resolve('https://img.yzcdn.cn/upload_files/2017/02/21/FjKTOxjVgnUuPmHJRdunvYky9OHP.jpg!100x100.jpg'), 1000);
});
},
uploadMaxSize: 3
}
}
});
@@ -247,12 +263,15 @@ describe('Sku', (done) => {
const skuMessages = wrapper.find('.van-sku-messages')[0];
const inputs = skuMessages.find('input');
const textarea = skuMessages.find('textarea')[0];
const uploader = wrapper.find(Uploader)[0];
// 修改留言内容
inputs[0].element.value = 123;
// 测试身份证号
inputs[1].element.value = 234;
inputs[0].trigger('input');
inputs[1].trigger('input');
// 测试图片
uploader.vm.onChange({ target: { files: [mockFile] }});
wrapper.vm.$nextTick(() => {
// 点击购买
@@ -276,9 +295,9 @@ describe('Sku', (done) => {
textarea.element.value = '';
// 测试数字留言
inputs[2].element.value = 'abc';
inputs[3].element.value = 'abc';
textarea.trigger('input');
inputs[2].trigger('input');
inputs[3].trigger('input');
wrapper.vm.$nextTick(() => {
buyBtn.trigger('click');
@@ -286,10 +305,10 @@ describe('Sku', (done) => {
wrapper.vm.$nextTick(() => {
expect(toastText.textContent).to.equal('请填写正确的数字格式留言');
inputs[2].element.value = 0;
inputs[3].element.value = 345;
inputs[2].trigger('input');
inputs[3].element.value = 0;
inputs[4].element.value = 345;
inputs[3].trigger('input');
inputs[4].trigger('input');
wrapper.vm.$nextTick(() => {
buyBtn.trigger('click');