mirror of
https://github.com/tenrok/vue-form-wizard.git
synced 2026-06-05 10:52:23 +03:00
Simplify some unit tests
Get rid of useless nextticks
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
import Vue from 'vue'
|
||||
import VueFormWizard from './../../../src/index'
|
||||
import {TabContent as WizardTab, WizardStep, FormWizard} from './../../../src/index'
|
||||
import {mount} from 'vue-test-utils'
|
||||
import {mount, createLocalVue} from 'vue-test-utils'
|
||||
import sinon from 'sinon'
|
||||
import Vue from "vue";
|
||||
|
||||
Vue.use(VueFormWizard)
|
||||
const localVue = createLocalVue()
|
||||
localVue.use(VueFormWizard)
|
||||
const startIndex = 0
|
||||
const twoStepWizard = {
|
||||
template: `<form-wizard :start-index="startIndex">
|
||||
@@ -29,12 +30,12 @@ const twoStepWizard = {
|
||||
}
|
||||
describe('FormWizard.vue', () => {
|
||||
it('contains wizard class', () => {
|
||||
const wizard = mount(twoStepWizard)
|
||||
const wizard = mount(twoStepWizard, {localVue})
|
||||
wizard.hasClass('vue-form-wizard')
|
||||
})
|
||||
it('renders steps', (done) => {
|
||||
const wizard = mount(twoStepWizard)
|
||||
Vue.nextTick(() => {
|
||||
it('renders steps', () => {
|
||||
const wizard = mount(twoStepWizard, {localVue})
|
||||
Vue.nextTick(()=>{
|
||||
const steps = wizard.findAll(WizardStep)
|
||||
const firsStep = steps.at(0)
|
||||
expect(steps.length).to.equal(3)
|
||||
@@ -43,53 +44,41 @@ describe('FormWizard.vue', () => {
|
||||
expect(stepTitle.is('span')).to.equal(true)
|
||||
const stepText = stepTitle.text().trim()
|
||||
expect(stepText).to.equal('Personal details')
|
||||
done()
|
||||
})
|
||||
})
|
||||
it('renders tabs', (done) => {
|
||||
const wizard = mount(twoStepWizard)
|
||||
Vue.nextTick(() => {
|
||||
const tabs = wizard.findAll(WizardTab)
|
||||
expect(tabs.length).to.equal(3)
|
||||
done()
|
||||
})
|
||||
})
|
||||
it('displays only one tab', (done) => {
|
||||
const wizard = mount(twoStepWizard)
|
||||
Vue.nextTick(() => {
|
||||
const tabs = wizard.findAll(WizardTab).wrappers
|
||||
const activeTabs = tabs.filter((tab) => tab.vm.active)
|
||||
const inactiveTabs = tabs.filter((tab) => !tab.vm.active)
|
||||
expect(activeTabs.length).to.equal(1)
|
||||
|
||||
inactiveTabs.forEach((tab) => {
|
||||
expect(tab.hasStyle('display', 'none')).to.equal(true)
|
||||
})
|
||||
done()
|
||||
})
|
||||
it('renders tabs', () => {
|
||||
const wizard = mount(twoStepWizard, {localVue})
|
||||
const tabs = wizard.findAll(WizardTab)
|
||||
expect(tabs.length).to.equal(3)
|
||||
})
|
||||
it('displays only one tab', () => {
|
||||
const wizard = mount(twoStepWizard, {localVue})
|
||||
const tabs = wizard.findAll(WizardTab).wrappers
|
||||
const activeTabs = tabs.filter((tab) => tab.vm.active)
|
||||
const inactiveTabs = tabs.filter((tab) => !tab.vm.active)
|
||||
expect(activeTabs.length).to.equal(1)
|
||||
|
||||
inactiveTabs.forEach((tab) => {
|
||||
expect(tab.hasStyle('display', 'none')).to.equal(true)
|
||||
})
|
||||
})
|
||||
it('starts at a given index', (done) => {
|
||||
const wizard = mount(twoStepWizard)
|
||||
Vue.nextTick(() => {
|
||||
const tabs = wizard.findAll(WizardTab)
|
||||
const activeTab = tabs.at(startIndex)
|
||||
expect(activeTab.vm.active).to.equal(true)
|
||||
const formWizard = wizard.find(FormWizard)
|
||||
expect(formWizard.vm.activeTabIndex).to.equal(startIndex)
|
||||
done()
|
||||
})
|
||||
it('starts at a given index', () => {
|
||||
const wizard = mount(twoStepWizard, {localVue})
|
||||
const tabs = wizard.findAll(WizardTab)
|
||||
const activeTab = tabs.at(startIndex)
|
||||
expect(activeTab.vm.active).to.equal(true)
|
||||
const formWizard = wizard.find(FormWizard)
|
||||
expect(formWizard.vm.activeTabIndex).to.equal(startIndex)
|
||||
})
|
||||
it('next tab is called', (done) => {
|
||||
const wizard = mount(twoStepWizard)
|
||||
it('next tab is called', () => {
|
||||
const wizard = mount(twoStepWizard, {localVue})
|
||||
const nextTabHandler = sinon.stub()
|
||||
const formWizard = wizard.find(FormWizard)
|
||||
formWizard.setMethods({nextTab: nextTabHandler})
|
||||
Vue.nextTick(() => {
|
||||
const nextButton = wizard.find('.wizard-footer-right span')
|
||||
nextButton.trigger('click')
|
||||
expect(nextTabHandler.called).to.equal(true)
|
||||
done()
|
||||
})
|
||||
const nextButton = wizard.find('.wizard-footer-right span')
|
||||
nextButton.trigger('click')
|
||||
expect(nextTabHandler.called).to.equal(true)
|
||||
})
|
||||
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user