import { createVue, destroyVM } from '../util'; import Vue from 'vue'; describe('Steps', () => { let vm; afterEach(() => { destroyVM(vm); }); it('create', () => { vm = createVue(` `); expect(vm.$el.querySelectorAll('.el-step')).to.length(3); }); it('space', done => { vm = createVue(` `); const vm2 = createVue(` `); Vue.nextTick(_ => { expect(vm.$el.querySelector('.el-step')).have.deep.property('style.webkitFlexBasis').equal('50%'); expect(vm2.$el.querySelector('.el-step')).have.deep.property('style.webkitFlexBasis').equal('100px'); done(); }); }); it('processStatus', done => { vm = createVue(` `); vm.$nextTick(_ => { expect(vm.$el.querySelectorAll('.el-step__head.is-error')).to.length(1); done(); }); }); it('finishStatus', done => { vm = createVue(` `); vm.$nextTick(_ => { expect(vm.$el.querySelectorAll('.el-step__head.is-error')).to.length(1); done(); }); }); it('active', done => { vm = createVue({ template: ` `, data() { return { active: 0 }; } }); vm.$nextTick(_ => { expect(vm.$el.querySelectorAll('.el-step__head.is-error')).to.length(0); vm.active = 2; vm.$nextTick(_ => { expect(vm.$el.querySelectorAll('.el-step__head.is-error')).to.length(2); done(); }); }); }); it('create vertical', () => { vm = createVue(` `); expect(vm.$el.querySelector('.is-vertical')).to.exist; }); it('vertical:height', done => { vm = createVue(` `); vm.$nextTick(_ => { expect(vm.$el.querySelector('.el-step')).have.deep.property('style.webkitFlexBasis').equal('200px'); done(); }); }); it('step:status=error', done => { vm = createVue(` `); vm.$nextTick(_ => { const errorLine = vm.$el.querySelector('.el-step:nth-child(2) .el-step__line-inner'); expect(errorLine.getBoundingClientRect().width).to.equal(0); const nextStep = vm.$el.querySelector('.el-step:nth-child(3) .el-step__head'); expect(nextStep.classList.contains('is-wait')).to.equal(true); done(); }); }); });