2026-09-03 10:27:31 +08:00
|
|
|
import ElementPlus from 'element-plus'
|
|
|
|
|
import { flushPromises, mount } from '@vue/test-utils'
|
|
|
|
|
import { afterEach, describe, expect, it } from 'vitest'
|
|
|
|
|
import SmartLoadingDialog from './SmartLoadingDialog.vue'
|
|
|
|
|
|
|
|
|
|
describe('SmartLoadingDialog', () => {
|
|
|
|
|
afterEach(() => { document.body.innerHTML = '' })
|
|
|
|
|
|
|
|
|
|
it('expands to the viewport and can return to the normal dialog size', async () => {
|
|
|
|
|
const wrapper = mount(SmartLoadingDialog, {
|
|
|
|
|
attachTo: document.body,
|
|
|
|
|
props: { modelValue: true },
|
|
|
|
|
global: {
|
|
|
|
|
plugins: [ElementPlus],
|
|
|
|
|
stubs: { GlobalSmartLoadingView: { template: '<div>智能装柜工作台</div>' } },
|
|
|
|
|
},
|
|
|
|
|
})
|
|
|
|
|
await flushPromises()
|
|
|
|
|
|
2026-09-03 11:47:32 +08:00
|
|
|
expect(wrapper.find('.smart-loading-dialog__warehouses').exists()).toBe(false)
|
2026-09-03 10:27:31 +08:00
|
|
|
const expand = wrapper.get('button[aria-label="展开全屏"]')
|
|
|
|
|
await expand.trigger('click')
|
|
|
|
|
expect(document.querySelector('.smart-loading-dialog.is-fullscreen')).not.toBeNull()
|
|
|
|
|
expect(wrapper.find('button[aria-label="退出全屏"]').exists()).toBe(true)
|
|
|
|
|
|
|
|
|
|
await wrapper.get('button[aria-label="退出全屏"]').trigger('click')
|
|
|
|
|
expect(document.querySelector('.smart-loading-dialog.is-fullscreen')).toBeNull()
|
|
|
|
|
expect(wrapper.find('button[aria-label="展开全屏"]').exists()).toBe(true)
|
|
|
|
|
})
|
|
|
|
|
})
|