From 69bcb3f8b2020164623afbe9c2b0e67488676b4b Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 14 Apr 2026 23:24:48 +0200 Subject: [PATCH] feat(search): add GroupDivider shared component Co-Authored-By: Claude Sonnet 4.6 --- .../src/lib/components/GroupDivider.svelte | 10 ++++++++ .../components/GroupDivider.svelte.spec.ts | 23 +++++++++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 frontend/src/lib/components/GroupDivider.svelte create mode 100644 frontend/src/lib/components/GroupDivider.svelte.spec.ts diff --git a/frontend/src/lib/components/GroupDivider.svelte b/frontend/src/lib/components/GroupDivider.svelte new file mode 100644 index 00000000..9d732afc --- /dev/null +++ b/frontend/src/lib/components/GroupDivider.svelte @@ -0,0 +1,10 @@ + + +
+
+ {label} +
+
diff --git a/frontend/src/lib/components/GroupDivider.svelte.spec.ts b/frontend/src/lib/components/GroupDivider.svelte.spec.ts new file mode 100644 index 00000000..15c6f887 --- /dev/null +++ b/frontend/src/lib/components/GroupDivider.svelte.spec.ts @@ -0,0 +1,23 @@ +import { describe, expect, it, afterEach } from 'vitest'; +import { cleanup, render } from 'vitest-browser-svelte'; +import { page } from 'vitest/browser'; +import GroupDivider from './GroupDivider.svelte'; + +afterEach(() => cleanup()); + +describe('GroupDivider', () => { + it('renders the label text', async () => { + render(GroupDivider, { label: '1938' }); + await expect.element(page.getByText('1938')).toBeInTheDocument(); + }); + + it('has data-testid="group-divider" on the root element', async () => { + render(GroupDivider, { label: 'Test' }); + await expect.element(page.getByTestId('group-divider')).toBeInTheDocument(); + }); + + it('renders a person name label', async () => { + render(GroupDivider, { label: 'Anna Müller' }); + await expect.element(page.getByText('Anna Müller')).toBeInTheDocument(); + }); +});