import { createVue, triggerEvent, destroyVM } from '../util'; describe('Tooltip', () => { let vm; afterEach(() => { destroyVM(vm); }); it('create', () => { vm = createVue(` `); expect(vm.$el.querySelector('.el-tooltip__popper')).to.have.property('textContent', '提示文字'); }); describe('manual', () => { const vm = createVue({ template: ` `, data() { return { show: false }; } }, true); const tooltip = vm.$refs.tooltip; it('showPopper is false', () => { triggerEvent(tooltip.$el, 'mouseenter'); expect(tooltip.showPopper).to.false; }); it('show', done => { vm.show = true; vm.$nextTick(_ => { expect(tooltip.showPopper).to.true; done(); }); }); it('still show when trigger mouseleave', () => { triggerEvent(tooltip.$el, 'mouseleave'); expect(tooltip.showPopper).to.true; }); it('hidden', done => { vm.show = false; vm.$nextTick(_ => { expect(tooltip.showPopper).to.false; done(); }); }); }); describe('hover', () => { const vm = createVue(` `); const tooltip = vm.$refs.tooltip; triggerEvent(tooltip.$el, 'mouseenter'); it('popperElm is exist', () => expect(tooltip.popperElm).to.exist); it('showPopper is true', () => expect(tooltip.showPopper).to.true); it('close popper', () => { triggerEvent(tooltip.$el, 'mouseleave'); expect(tooltip.showPopper).to.false; }); }); it('light mode', () => { vm = createVue(` `); expect(vm.$el.querySelector('.is-light')).to.exist; }); });