diff --git a/frontend/src/routes/DocumentList.svelte b/frontend/src/routes/DocumentList.svelte index 4a16b6eb..78aaa09e 100644 --- a/frontend/src/routes/DocumentList.svelte +++ b/frontend/src/routes/DocumentList.svelte @@ -30,7 +30,9 @@ let { sort?: string; } = $props(); -const fallbackLabel = $derived(sort === 'DATE' ? m.docs_group_undated() : m.docs_group_unknown()); +const fallbackLabel = $derived( + (sort ?? 'DATE') === 'DATE' ? m.docs_group_undated() : m.docs_group_unknown() +); const groupedDocuments = $derived.by(() => groupDocuments(documents, sort ?? 'DATE', fallbackLabel) ); diff --git a/frontend/src/routes/DocumentList.svelte.spec.ts b/frontend/src/routes/DocumentList.svelte.spec.ts index 1d7d728b..224501e5 100644 --- a/frontend/src/routes/DocumentList.svelte.spec.ts +++ b/frontend/src/routes/DocumentList.svelte.spec.ts @@ -90,6 +90,15 @@ describe('DocumentList – group headers', () => { await expect.element(page.getByTestId('group-divider')).not.toBeInTheDocument(); }); + it('shows Undatiert fallback label when sort is undefined and doc has no date', async () => { + const documents = [ + makeDoc({ id: '1', documentDate: '1938-01-01' }), + makeDoc({ id: '2', documentDate: null }) + ]; + render(DocumentList, { ...baseProps, documents, total: 2 }); // sort omitted — defaults to DATE grouping + await expect.element(page.getByText(/UNDATIERT/i)).toBeInTheDocument(); + }); + it('a doc with two receivers appears in both receiver groups', async () => { const documents = [ makeDoc({