diff --git a/test/unit/components/badge.vue b/test/unit/components/badge.vue
new file mode 100644
index 000000000..dd84bf0a9
--- /dev/null
+++ b/test/unit/components/badge.vue
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
diff --git a/test/unit/specs/badge.spec.js b/test/unit/specs/badge.spec.js
index b74f761a5..b5fe1c579 100644
--- a/test/unit/specs/badge.spec.js
+++ b/test/unit/specs/badge.spec.js
@@ -1,14 +1,5 @@
-import Vue from 'vue';
-import Badge from 'packages/badge';
-import BadgeGroup from 'packages/badge-group';
import { mount } from 'avoriaz';
-
-Vue.component(Badge.name, Badge);
-Vue.component(BadgeGroup.name, BadgeGroup);
-
-const component = Vue.component({
-
-});
+import BadgeTestComponent from '../components/badge';
describe('BadgeGroup', () => {
let wrapper;
@@ -17,27 +8,22 @@ describe('BadgeGroup', () => {
});
it('create a badge-group', () => {
- wrapper = mount(BadgeGroup);
+ wrapper = mount(BadgeTestComponent);
expect(wrapper.hasClass('zan-badge-group')).to.be.true;
- expect(wrapper.instance().activeKey).to.equal(0);
- expect(wrapper.data().badges.length).to.equal(0);
+
+ expect(wrapper.vNode.child.activeKey).to.equal(0);
+ expect(wrapper.vNode.child.badges.length).to.equal(2);
+ });
+
+ it('emit a click event when click badge', () => {
+ wrapper = mount(BadgeTestComponent);
+
+ const badge = wrapper.find('.zan-badge')[0];
+ const eventStub = sinon.stub(badge.vNode.child, '$emit');
+ badge.simulate('click');
+
+ expect(eventStub.calledWith('click')).to.be.true;
});
});
-describe('Badge', () => {
- let wrapper;
- afterEach(() => {
- wrapper && wrapper.destroy();
- });
-
- it('create a badge', () => {
- wrapper = mount(Badge, {
- propsData: {
- title: 'test'
- }
- });
-
- expect(wrapper.hasClass('zan-badge')).to.be.true;
- });
-});