mirror of
https://github.com/youzan/vant.git
synced 2025-12-18 02:06:02 +08:00
add GoodsAction component
This commit is contained in:
37
test/unit/components/goods-action.vue
Normal file
37
test/unit/components/goods-action.vue
Normal 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>
|
||||
47
test/unit/specs/goods-action.spec.js
Normal file
47
test/unit/specs/goods-action.spec.js
Normal 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;
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user