// @vitest-environment jsdom import { afterEach, describe, expect, it } from 'vitest' import { cleanup, render } from '@testing-library/react' import { DropOverlay } from '../src/DropOverlay.tsx' afterEach(cleanup) describe('DropOverlay', () => { it('portals the invitation with its title and limits desc to the body', () => { const view = render( , ) const overlay = view.getByRole('status') expect(overlay.parentElement).toBe(document.body) expect(overlay.textContent).toContain('图片拖动到此处即可添加') expect(overlay.textContent).toContain('最多 20 张,每张 5MB') }) it('omits the desc line when none is resolved', () => { const view = render() expect(view.getByRole('status').textContent).toBe('图片拖动到此处即可添加') }) it('drops the desc and switches the illustration while disabled', () => { const enabled = render( , ) const enabledSvg = enabled.getByRole('status').querySelector('svg')!.innerHTML enabled.unmount() const disabled = render( , ) const overlay = disabled.getByRole('status') expect(overlay.textContent).toBe('当前无法添加图片') expect(overlay.querySelector('svg')!.innerHTML).not.toBe(enabledSvg) }) })