From 75542374deff874ea4a3da936ba86c581123bdd5 Mon Sep 17 00:00:00 2001 From: cookfront Date: Tue, 18 Apr 2017 16:15:40 +0800 Subject: [PATCH] search unit test --- test/unit/specs/search.spec.js | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/test/unit/specs/search.spec.js b/test/unit/specs/search.spec.js index 0f6da1e38..de0faf5f2 100644 --- a/test/unit/specs/search.spec.js +++ b/test/unit/specs/search.spec.js @@ -38,4 +38,58 @@ describe('Search', () => { done(); }); }); + + it('handle clean click', () => { + wrapper = mount(Search); + + wrapper.setData({ value: 'test' }); + expect(wrapper.data().value).to.be.equal('test'); + + const input = wrapper.find('.zan-search__input')[0]; + input.simulate('focus'); + + const cleanBtn = wrapper.find('.zan-icon-clear')[0]; + cleanBtn.simulate('click'); + expect(wrapper.data().value).to.equal(''); + expect(wrapper.data().focusStatus).to.be.true; + }); + + it('handle cancel click', (done) => { + wrapper = mount(Search); + + wrapper.setData({ value: 'test' }); + expect(wrapper.data().value).to.be.equal('test'); + + const eventStub = sinon.stub(wrapper.vm, '$emit'); + + const input = wrapper.find('.zan-search__input')[0]; + input.simulate('focus'); + + const cancelBtn = wrapper.find('.zan-search__cancel')[0]; + cancelBtn.simulate('click'); + + wrapper.vm.$nextTick(() => { + expect(wrapper.data().value).to.be.equal(''); + expect(wrapper.data().focusStatus).to.be.false; + expect(wrapper.data().isFocus).to.be.false; + expect(eventStub.calledOnce).to.be.true; + expect(eventStub.calledWith('change')); + done(); + }); + }); + + it('emit a search event', (done) => { + wrapper = mount(Search); + + const eventStub = sinon.stub(wrapper.vm, '$emit'); + + const input = wrapper.find('.zan-search__input')[0]; + input.simulate('keyup.enter'); + + wrapper.vm.$nextTick(() => { + expect(eventStub.calledOnce).to.be.true; + expect(eventStub.calledWith('search')); + done(); + }); + }); });