From 7725924a5e66928549d8cd5f42432406cc15f480 Mon Sep 17 00:00:00 2001 From: baiyaaaaa Date: Fri, 21 Oct 2016 16:04:03 +0800 Subject: [PATCH] add input-number test --- test/unit/specs/input-number.spec.js | 223 +++++++++++++++++++++++++++ test/unit/specs/input.spec.js | 4 +- 2 files changed, 225 insertions(+), 2 deletions(-) create mode 100644 test/unit/specs/input-number.spec.js diff --git a/test/unit/specs/input-number.spec.js b/test/unit/specs/input-number.spec.js new file mode 100644 index 000000000..d26b3a731 --- /dev/null +++ b/test/unit/specs/input-number.spec.js @@ -0,0 +1,223 @@ +import { createVue, triggerEvent } from '../util'; + +describe('InputNumber', () => { + it('create', () => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 1 + }; + } + }, true); + let input = vm.$el.querySelector('input'); + + expect(vm.value).to.be.equal(1); + expect(input.value).to.be.equal('1'); + }); + it('decrease', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 5 + }; + } + }, true); + + let input = vm.$el.querySelector('input'); + let btnDecrease = vm.$el.querySelector('.el-input-number__decrease'); + for (let i = 0; i < 3; i++) { + triggerEvent(btnDecrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + } + triggerEvent(btnDecrease, 'mouseenter'); + setTimeout(_ => { + expect(vm.$el.querySelector('.el-input.is-active')).to.exist; + expect(vm.value).to.be.equal(2); + expect(input.value).to.be.equal('2'); + + triggerEvent(btnDecrease, 'mouseleave'); + + vm.$nextTick(_ => { + expect(vm.$el.querySelector('.el-input.is-active')).to.not.exist; + done(); + }); + }, 100); + }); + it('increase', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 1.5 + }; + } + }, true); + + let input = vm.$el.querySelector('input'); + let btnIncrease = vm.$el.querySelector('.el-input-number__increase'); + for (let i = 0; i < 3; i++) { + triggerEvent(btnIncrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + } + setTimeout(_ => { + expect(vm.value).to.be.equal(4.5); + expect(input.value).to.be.equal('4.5'); + done(); + }, 100); + }); + it('disabled', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 2 + }; + } + }, true); + + let input = vm.$el.querySelector('input'); + let btnDecrease = vm.$el.querySelector('.el-input-number__decrease'); + let btnIncrease = vm.$el.querySelector('.el-input-number__increase'); + + triggerEvent(btnDecrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + + for (let i = 0; i < 3; i++) { + triggerEvent(btnIncrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + } + + setTimeout(_ => { + expect(vm.value).to.be.equal(2); + expect(input.value).to.be.equal('2'); + done(); + }, 100); + }); + it('step', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 5 + }; + } + }, true); + + let input = vm.$el.querySelector('input'); + let btnIncrease = vm.$el.querySelector('.el-input-number__increase'); + let btnDecrease = vm.$el.querySelector('.el-input-number__decrease'); + + for (let i = 0; i < 2; i++) { + triggerEvent(btnIncrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + } + setTimeout(_ => { + expect(vm.value).to.be.equal(11.4); + expect(input.value).to.be.equal('11.4'); + + triggerEvent(btnDecrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + + setTimeout(_ => { + expect(vm.value).to.be.equal(8.2); + expect(input.value).to.be.equal('8.2'); + done(); + }, 100); + }, 100); + }); + it('min', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 9 + }; + } + }, true); + const vm2 = createVue({ + template: ` + + + `, + data() { + return { + value: 3 + }; + } + }, true); + + expect(vm2.value === 6); + expect(vm2.$el.querySelector('input').value).to.be.equal('6'); + + let input = vm.$el.querySelector('input'); + let btnDecrease = vm.$el.querySelector('.el-input-number__decrease'); + for (let i = 0; i < 5; i++) { + triggerEvent(btnDecrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + } + setTimeout(_ => { + expect(vm.value).to.be.equal(6); + expect(input.value).to.be.equal('6'); + done(); + }, 100); + }); + it('max', done => { + const vm = createVue({ + template: ` + + + `, + data() { + return { + value: 5 + }; + } + }, true); + const vm2 = createVue({ + template: ` + + + `, + data() { + return { + value: 100 + }; + } + }, true); + + expect(vm2.value === 8); + expect(vm2.$el.querySelector('input').value).to.be.equal('8'); + + let input = vm.$el.querySelector('input'); + let btnIncrease = vm.$el.querySelector('.el-input-number__increase'); + for (let i = 0; i < 5; i++) { + triggerEvent(btnIncrease, 'mousedown'); + triggerEvent(document, 'mouseup'); + } + setTimeout(_ => { + expect(vm.value).to.be.equal(8); + expect(input.value).to.be.equal('8'); + done(); + }, 100); + }); +}); diff --git a/test/unit/specs/input.spec.js b/test/unit/specs/input.spec.js index ec255591b..0e315d016 100644 --- a/test/unit/specs/input.spec.js +++ b/test/unit/specs/input.spec.js @@ -5,8 +5,8 @@ describe('Input', () => { const vm = createVue({ template: `