import { describe, expect, it } from 'vitest'
import { render, screen } from '@testing-library/react'
import AppOverlay from '../../src/components/common/AppOverlay'
describe('AppOverlay', () => {
it('does not leave a full-window layer in the DOM when closed', () => {
const { rerender } = render(
blocked
)
expect(document.querySelector('[data-app-overlay]')).toBeNull()
rerender(
panel
)
const overlay = document.querySelector('[data-app-overlay]')
expect(overlay).toBeTruthy()
expect(overlay).toHaveClass('app-overlay')
expect(screen.getByText('panel')).toBeVisible()
})
it('portals onto document.body so layout overflow cannot trap it', () => {
render(
)
const overlay = document.querySelector('[data-app-overlay]')
expect(overlay?.parentElement).toBe(document.body)
expect(document.getElementById('trap')?.contains(overlay)).toBe(false)
})
})