import { shallowMount, mount } from '@vue/test-utils' import Tab from '../tab.vue'; import Vue from 'vue'; describe('Tab.vue', () => { const wrapper = mount(Tab); it('页签类型为based', () => { wrapper.setProps({ type: 'based' }); return Vue.nextTick().then(function () { expect(wrapper.contains('.based')).toBe(true); }) }); it('当前tab的位置', () => { wrapper.setProps({ positionNav: 'left' }); return Vue.nextTick().then(function () { expect(wrapper.contains('.nut-tab')).toBe(true); }) }); it('禁止选择第一个标签', () => { wrapper.setData({ tabTitleList: [ { tabTitle: "衣物", disable: false, iconUrl: "http://img13.360buyimg.com/uba/jfs/t27280/289/2061314663/2392/872e32ff/5bf76318Ndc80c1d8.jpg", content: "
衣物内容
" }, { tabTitle: "日用品", iconUrl: "http://img13.360buyimg.com/uba/jfs/t30331/209/562746340/2190/6619973d/5bf763aaN6ff02099.jpg", content: "日用品内容
" }, { tabTitle: "运动器材", iconUrl: "http://img20.360buyimg.com/uba/jfs/t30346/262/553689202/2257/5dfa3983/5bf76407N72deabf4.jpg", content: "运动器材内容
" }, { tabTitle: "电影票", iconUrl: "http://img10.360buyimg.com/uba/jfs/t26779/215/2118525153/2413/470d1613/5bf767b2N075957b7.jpg", content: "电影票内容
" } ] }); setTimeout(()=>{ return Vue.nextTick().then(function () { expect(wrapper.findAll('.nut-title-nav-leftnav').at(0).is('.nut-tab-disable')).toBe(true) }) },10) }); it('当前默认选中的tab', () => { wrapper.setProps({ defIndex: 0 }); setTimeout(()=>{ return Vue.nextTick().then(function () { expect(wrapper.findAll('.nut-title-nav-list').at(1).is('.nut-tab-active')).toBe(true) }) },20) }); });