import { createTest, createVue, destroyVM } from '../util'; import Button from 'packages/button'; describe('Button', () => { let vm; afterEach(() => { destroyVM(vm); }); it('create', () => { vm = createTest(Button, { type: 'primary' }, true); let buttonElm = vm.$el; expect(buttonElm.classList.contains('el-button--primary')).to.be.true; }); it('icon', () => { vm = createTest(Button, { icon: 'search' }, true); let buttonElm = vm.$el; expect(buttonElm.querySelector('.el-icon-search')).to.be.ok; }); it('nativeType', () => { vm = createTest(Button, { nativeType: 'submit' }, true); let buttonElm = vm.$el; expect(buttonElm.getAttribute('type')).to.be.equal('submit'); }); it('loading', () => { vm = createTest(Button, { loading: true }, true); let buttonElm = vm.$el; expect(buttonElm.classList.contains('is-loading')).to.be.true; expect(buttonElm.querySelector('.el-icon-loading')).to.be.ok; }); it('disabled', () => { vm = createTest(Button, { disabled: true }, true); let buttonElm = vm.$el; expect(buttonElm.classList.contains('is-disabled')).to.be.true; }); it('size', () => { vm = createTest(Button, { size: 'large' }, true); let buttonElm = vm.$el; expect(buttonElm.classList.contains('el-button--large')).to.be.true; }); it('plain', () => { vm = createTest(Button, { plain: true }, true); let buttonElm = vm.$el; expect(buttonElm.classList.contains('is-plain')).to.be.true; }); it('click', done => { let result; vm = createVue({ template: ` `, methods: { handleClick(evt) { result = evt; } } }, true); vm.$el.click(); setTimeout(_ => { expect(result).to.exist; done(); }, 20); }); });