add GoodsAction component

This commit is contained in:
陈嘉涵
2017-08-31 19:36:37 +08:00
parent 415af2b40b
commit 8986da5ba6
14 changed files with 303 additions and 2 deletions

View File

@@ -0,0 +1,37 @@
<template>
<van-goods-action>
<van-goods-action-mini-btn icon="chat" @click="onClickMiniBtn">
客服
</van-goods-action-mini-btn>
<van-goods-action-mini-btn icon="cart" url="http://www.youzan.com" @click="onClickMiniBtn">
购物车
</van-goods-action-mini-btn>
<van-goods-action-big-btn @click="onClickBigBtn">
加入购物车
</van-goods-action-big-btn>
<van-goods-action-big-btn @click="onClickBigBtn" primary url="http://www.youzan.com">
立即购买
</van-goods-action-big-btn>
</van-goods-action>
</template>
<script>
import GoodsAction from 'packages/goods-action';
import GoodsActionBigBtn from 'packages/goods-action-big-btn';
import GoodsActionMiniBtn from 'packages/goods-action-mini-btn';
export default {
components: {
[GoodsAction.name]: GoodsAction,
[GoodsActionBigBtn.name]: GoodsActionBigBtn,
[GoodsActionMiniBtn.name]: GoodsActionMiniBtn
},
methods: {
onClickMiniBtn() {
},
onClickBigBtn() {
}
}
};
</script>

View File

@@ -0,0 +1,47 @@
import GoodsAction from '../components/goods-action';
import GoodsActionBigBtn from 'packages/goods-action-big-btn';
import GoodsActionMiniBtn from 'packages/goods-action-mini-btn';
import { mount } from 'avoriaz';
import { DOMChecker } from '../utils';
describe('GoodsAction', () => {
let wrapper;
afterEach(() => {
wrapper && wrapper.destroy();
});
it('create a GoodsAction', () => {
wrapper = mount(GoodsAction, {});
DOMChecker(wrapper, {
count: {
'.van-goods-action__mini-btn': 2,
'.van-goods-action__big-btn': 2,
'.van-icon-chat': 1
}
});
});
it('click GoodsActionBigBtn', () => {
wrapper = mount(GoodsActionBigBtn, {});
const submitSpyFunc = sinon.spy();
wrapper.vm.$on('click', submitSpyFunc);
wrapper.trigger('click');
expect(submitSpyFunc.calledOnce).to.be.true;
});
it('click GoodsActionMiniBtn', () => {
wrapper = mount(GoodsActionMiniBtn, {
propsData: {
icon: 'card'
}
});
const submitSpyFunc = sinon.spy();
wrapper.vm.$on('click', submitSpyFunc);
wrapper.trigger('click');
expect(submitSpyFunc.calledOnce).to.be.true;
});
});