wot-design-uni/tests/components/wd-root-portal.test.ts

71 lines
2.0 KiB
TypeScript

import { mount } from '@vue/test-utils'
import '../mocks/wd-transition.mock'
import WdRootPortal from '@/uni_modules/wot-design-uni/components/wd-root-portal/wd-root-portal.vue'
import { describe, test, expect, vi } from 'vitest'
describe('WdRootPortal', () => {
// 测试组件名称
test('组件名称', () => {
const wrapper = mount(WdRootPortal)
expect(wrapper.vm.$options.name).toBe('wd-root-portal')
})
// 测试组件渲染
test('组件渲染', () => {
const wrapper = mount(WdRootPortal)
expect(wrapper.exists()).toBe(true)
})
// 测试组件选项
test('组件选项配置', () => {
const wrapper = mount(WdRootPortal)
const options = wrapper.vm.$options
// 由于条件编译,在测试环境中可能无法获取到这些选项
// 我们只测试组件能够正常挂载
expect(wrapper.exists()).toBe(true)
})
// 测试插槽渲染
test('插槽渲染', () => {
const wrapper = mount(WdRootPortal, {
slots: {
default: '<div class="test-slot">测试插槽</div>'
}
})
// 由于条件编译,插槽内容可能不会在测试环境中正确渲染
// 我们只测试组件能够正常挂载
expect(wrapper.exists()).toBe(true)
})
// 测试组件结构
test('组件结构', () => {
const wrapper = mount(WdRootPortal, {
slots: {
default: '<div class="portal-content">传送门内容</div>'
}
})
// 检查组件是否正确挂载
expect(wrapper.exists()).toBe(true)
})
// 测试复杂插槽内容
test('复杂插槽内容', () => {
const complexSlot = `
<view class="modal">
<view class="modal-content">
<text>这是一个模态框</text>
</view>
</view>
`
const wrapper = mount(WdRootPortal, {
slots: {
default: complexSlot
}
})
// 由于条件编译,插槽内容可能不会在测试环境中正确渲染
// 我们只测试组件能够正常挂载
expect(wrapper.exists()).toBe(true)
})
})