37 lines
1.0 KiB
JavaScript
37 lines
1.0 KiB
JavaScript
import { mount } from '@vue/test-utils'
|
||
import D2ModuleIndexMenu from '@/components/d2-module-index-menu/index.vue'
|
||
import menu from '@/menu/modules/demo-business'
|
||
|
||
describe('d2-module-index-menu', () => {
|
||
// 存在且是Vue组件实例
|
||
it('is a vue instance', () => {
|
||
const wrapper = mount(D2ModuleIndexMenu, {
|
||
stubs: ['el-button'],
|
||
propsData: {
|
||
menu
|
||
}
|
||
})
|
||
|
||
expect(wrapper.exists()).toBeTruthy()
|
||
expect(wrapper.isVueInstance()).toBeTruthy()
|
||
})
|
||
|
||
// 300m后正确渲染,包含特定类名
|
||
it('contains specific classnames', (done) => {
|
||
const wrapper = mount(D2ModuleIndexMenu, {
|
||
stubs: ['el-button'],
|
||
propsData: {
|
||
menu: menu
|
||
}
|
||
})
|
||
|
||
setTimeout(() => {
|
||
expect(wrapper.is('.d2-module-index-menu')).toBeTruthy()
|
||
expect(wrapper.contains('.d2-module-index-menu-group')).toBeTruthy()
|
||
expect(wrapper.contains('.d2-module-index-menu-group--title')).toBeTruthy()
|
||
expect(wrapper.contains('.d2-module-index-menu-item')).toBeTruthy()
|
||
done()
|
||
}, 400)
|
||
})
|
||
})
|