import { afterEach, describe, expect, it } from 'vitest'; import { cleanup, render } from 'vitest-browser-svelte'; import { page } from 'vitest/browser'; import { m } from '$lib/paraglide/messages.js'; import GeschichteSidebar from './GeschichteSidebar.svelte'; const item = { id: 'i1', position: 10, document: { id: 'd1', title: 'Brief von Eugenie', datePrecision: 'DAY' as const, receiverCount: 0 } }; afterEach(() => cleanup()); describe('GeschichteSidebar — document panel contract (#795)', () => { it('renders the document panel when geschichteId and items are provided', async () => { render(GeschichteSidebar, { status: 'DRAFT', selectedPersons: [], geschichteId: 'g1', items: [item] }); await expect .element(page.getByRole('heading', { name: m.geschichte_documents_heading() })) .toBeInTheDocument(); await expect.element(page.getByText('Brief von Eugenie')).toBeInTheDocument(); }); it('does not render the document panel without geschichteId', async () => { render(GeschichteSidebar, { status: 'DRAFT', selectedPersons: [] }); expect(document.body.textContent).not.toContain(m.geschichte_documents_heading()); }); });