From e94edd480e6052adde62c1874ae89f31c9fb852d Mon Sep 17 00:00:00 2001
From: cookfront <cookfront@gmail.com>
Date: Mon, 17 Apr 2017 14:47:15 +0800
Subject: [PATCH] field unit test

---
 test/unit/components/badge.vue |  4 +-
 test/unit/specs/field.spec.js  | 97 +++++++++++++++++-----------------
 2 files changed, 49 insertions(+), 52 deletions(-)

diff --git a/test/unit/components/badge.vue b/test/unit/components/badge.vue
index dd84bf0a9..8dd3bbdfd 100644
--- a/test/unit/components/badge.vue
+++ b/test/unit/components/badge.vue
@@ -16,9 +16,7 @@ export default {
   },
 
   methods: {
-    onItemClick() {
-      console.log('click');
-    }
+    onItemClick() {}
   }
 };
 </script>
diff --git a/test/unit/specs/field.spec.js b/test/unit/specs/field.spec.js
index 3e501c97a..2c6342f3f 100644
--- a/test/unit/specs/field.spec.js
+++ b/test/unit/specs/field.spec.js
@@ -19,65 +19,64 @@ describe('Field', () => {
     expect(wrapper.propsData().type).to.equal('text');
   });
 
-  it('create a text field with initialize value', () => {
-    // wrapper = mount(Field, {
-    //   propsData: {
-    //     value: 'test'
-    //   }
-    // });
+  it('create a text field with initialize value', (done) => {
+    wrapper = mount(Field, {
+      propsData: {
+        value: 'test'
+      }
+    });
 
-    // expect(wrapper.hasClass('zan-field')).to.be.true;
-    // expect(wrapper.data().currentValue).to.equal('test');
+    expect(wrapper.hasClass('zan-field')).to.be.true;
+    expect(wrapper.data().currentValue).to.equal('test');
 
-    // const eventStub = sinon.stub(wrapper.vm, '$emit');
+    const eventStub = sinon.stub(wrapper.vm, '$emit');
 
-    // wrapper.vm.value = 'test2';
-    // wrapper.update();
-    // wrapper.vm.$nextTick(() => {
-    //   expect(wrapper.data().currentValue).to.equal('test2');
-    //   expect(eventStub.calledOnce).to.be.true;
-    //   expect(eventStub.calledWith('input'));
-    //   done();
-    // });
+    wrapper.vm.value = 'test2';
+    wrapper.update();
+    wrapper.vm.$nextTick(() => {
+      expect(wrapper.data().currentValue).to.equal('test2');
+      expect(eventStub.calledWith('input'));
+      done();
+    });
   });
 
-  it('emit a focus event', () => {
-    // wrapper = mount(Field, {
-    //   propsData: {}
-    // });
+  it('input some value to filed', (done) => {
+    wrapper = mount(Field, {
+      propsData: {}
+    });
 
-    // const input = wrapper.find('.zan-field__control')[0];
-    // const eventStub = sinon.stub(wrapper.vm, '$emit');
+    const eventStub = sinon.stub(wrapper.vm, '$emit');
+    const input = wrapper.find('.zan-field__control')[0];
+    input.element.focus();
 
-    // input.simulate('focus');
-
-    // expect(eventStub.calledOnce).to.be.true;
-    // expect(eventStub.calledWith('focus')).to.be.true;
-  });
-
-  it('input some value to filed', () => {
-    // wrapper = mount(Field, {
-    //   propsData: {}
-    // });
-
-    // const input = wrapper.find('.zan-field__control')[0];
-    // input.element.value = 'test';
-
-    // wrapper.update();
-    // wrapper.vm.$nextTick(() => {
-    //   expect(wrapper.data().currentValue).to.equal('test');
-    //   done();
-    // });
+    wrapper.update();
+    wrapper.vm.$nextTick(() => {
+      expect(eventStub.calledWith('focus'));
+      done();
+    });
   });
 
   it('create a textarea field', () => {
-    // wrapper = mount(Field, {
-    //   propsData: {
-    //     type: 'textarea',
-    //     autosize: false
-    //   }
-    // });
+    wrapper = mount(Field, {
+      propsData: {
+        type: 'textarea',
+        autosize: false
+      }
+    });
 
-    // expect(wrapper.hasClass('zan-field--hastextarea')).to.be.true;
+    expect(wrapper.hasClass('zan-field')).to.be.true;
+    expect(wrapper.hasClass('zan-field--hastextarea')).to.be.true;
+  });
+
+  it('create a autosize textarea field', () => {
+    wrapper = mount(Field, {
+      propsData: {
+        type: 'textarea',
+        autosize: true
+      }
+    });
+
+    expect(wrapper.hasClass('zan-field')).to.be.true;
+    expect(wrapper.hasClass('zan-field--autosize')).to.be.true;
   });
 });