Files
element-plus/packages/utils/__tests__/vue/global-node.test.ts
wzc520pyfm 98ce640684 test(utils): [vue] add icon,install,vnode and global-node test (#16216)
* test(utils): [vue] add icon,install,vnode and global-node test

* test(utils): [global-node] remove repeat code of useless
2024-04-30 10:37:27 +08:00

54 lines
1.1 KiB
TypeScript

import { afterEach, describe, expect, it } from 'vitest'
import {
changeGlobalNodesTarget,
createGlobalNode,
removeGlobalNode,
} from '../..'
describe('global-nodes', () => {
afterEach(() => {
document.body.innerHTML = ''
})
it('should create nodes to the root element', () => {
const el = createGlobalNode()
expect(el).not.toBeNull()
expect(document.body.firstChild).toBe(el)
})
it('should remove the recent created element', () => {
const el = createGlobalNode()
expect(document.body.firstElementChild).toBe(el)
removeGlobalNode(el)
expect(document.body.children).toHaveLength(0)
})
it('should change the target of created element', () => {
const target = createGlobalNode()
expect(document.body.firstElementChild).toBe(target)
const el = createGlobalNode()
expect(el.parentElement).toBe(document.body)
changeGlobalNodesTarget(target)
expect(el.parentElement).toBe(target)
})
it('should create node with id', () => {
const myId = 'my-id'
const el = createGlobalNode(myId)
expect(el).not.toBeNull()
expect(el.getAttribute('id')).toBe(myId)
})
})