import { createTest, createVue, triggerEvent } from '../util'; import Slider from 'packages/slider'; describe('Slider', () => { it('create', () => { const vm = createTest(Slider); expect(vm.value).to.equal(0); }); it('should not exceed min and max', done => { const vm = createVue({ template: `
`, data() { return { value: 50 }; } }, true); setTimeout(() => { vm.value = 40; vm.$nextTick(() => { expect(vm.value).to.equal(50); vm.value = 120; vm.$nextTick(() => { expect(vm.value).to.equal(100); done(); }); }); }, 100); }); it('show tooltip', () => { const vm = createVue({ template: `
`, data() { return { value: 0 }; } }, true); const slider = vm.$children[0]; slider.handleMouseEnter(); expect(slider.$refs.tooltip.showPopper).to.true; slider.handleMouseLeave(); expect(slider.$refs.tooltip.showPopper).to.false; }); it('drag', done => { const vm = createVue({ template: `
`, data() { return { value: 0 }; } }, true); const slider = vm.$children[0]; setTimeout(() => { slider.onButtonDown({ clientX: 0 }); slider.onDragging({ clientX: 100 }); slider.onDragEnd(); expect(vm.value > 0).to.true; done(); }, 150); }); it('click', done => { const vm = createVue({ template: `
`, data() { return { value: 0 }; } }, true); const slider = vm.$children[0]; setTimeout(() => { slider.onSliderClick({ clientX: 100 }); setTimeout(() => { expect(vm.value > 0).to.true; done(); }, 150); }, 150); }); it('disabled', done => { const vm = createVue({ template: `
`, data() { return { value: 0 }; } }, true); const slider = vm.$children[0]; setTimeout(() => { slider.onButtonDown({ clientX: 0 }); slider.onDragging({ clientX: 100 }); slider.onDragEnd(); slider.onSliderClick({ clientX: 200 }); expect(vm.value).to.equal(0); done(); }, 100); }); it('show input', done => { const vm = createVue({ template: `
`, data() { return { value: 0 }; } }, true); setTimeout(() => { triggerEvent(vm.$el.querySelector('.el-input-number'), 'keyup'); const inputNumber = vm.$el.querySelector('.el-input-number').__vue__; inputNumber.currentValue = 40; setTimeout(() => { expect(vm.value).to.equal(40); done(); }, 150); }, 150); }); it('show stops', done => { const vm = createTest(Slider, { showStops: true, step: 10 }, true); const stops = vm.$el.querySelectorAll('.el-slider__stop'); expect(stops.length).to.equal(9); done(); }); });