import { describe, it, expect, afterEach } from 'vitest'; import { cleanup, render } from 'vitest-browser-svelte'; import { page } from 'vitest/browser'; import UploadZone from './UploadZone.svelte'; afterEach(cleanup); describe('UploadZone', () => { it('renders an SVG arrow icon (not a Unicode character) in idle state', async () => { const { container } = render(UploadZone, { filename: 'test.pdf', isUploading: false, error: null }); // The icon must be an SVG element, not the raw "↑" text const svg = container.querySelector('.upload-zone-icon svg'); expect(svg).not.toBeNull(); expect(container.textContent).not.toContain('↑'); }); it('shows the filename in idle state', async () => { render(UploadZone, { filename: 'my-document.pdf', isUploading: false, error: null }); await expect.element(page.getByText('my-document.pdf')).toBeInTheDocument(); }); });