diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 000000000..ed3a59e8c --- /dev/null +++ b/.travis.yml @@ -0,0 +1,17 @@ +language: node_js +node_js: +- 6 +os: linux +dist: trusty +sudo: required +cache: + yarn: true +branches: + only: + - master +install: +- | + yarn install +script: +- | + npm run lint && npm run test diff --git a/test/unit/specs/pciker.spec.js b/test/unit/specs/pciker.spec.js new file mode 100644 index 000000000..64f6a2643 --- /dev/null +++ b/test/unit/specs/pciker.spec.js @@ -0,0 +1,52 @@ +import Picker from 'packages/picker'; +import { mount } from 'avoriaz'; + +describe('Picker', () => { + let wrapper; + afterEach(() => { + wrapper && wrapper.destroy(); + }); + + it('create a empty picker and emit a cencel event', (done) => { + wrapper = mount(Picker, { + propsData: { + showToolbar: true + } + }); + + expect(wrapper.hasClass('van-picker')).to.be.true; + expect(wrapper.contains('.van-picker__toolbar')).to.be.true; + expect(wrapper.computed().values().length).to.equal(0); + + const eventStub = sinon.stub(wrapper.vm, '$emit'); + const cancelBtn = wrapper.find('.van-picker__cancel')[0]; + cancelBtn.simulate('click'); + + wrapper.vm.$nextTick(() => { + expect(eventStub.calledOnce).to.be.true; + expect(eventStub.calledWith('cancel')); + done(); + }); + }); + + it('create a empty picker and emit a confirm event', (done) => { + wrapper = mount(Picker, { + propsData: { + showToolbar: true + } + }); + + expect(wrapper.hasClass('van-picker')).to.be.true; + expect(wrapper.contains('.van-picker__toolbar')).to.be.true; + + const eventStub = sinon.stub(wrapper.vm, '$emit'); + const cancelBtn = wrapper.find('.van-picker__confirm')[0]; + cancelBtn.simulate('click'); + + wrapper.vm.$nextTick(() => { + expect(eventStub.calledOnce).to.be.true; + expect(eventStub.calledWith('confirm')); + done(); + }); + }); +});