import { render, screen, within } from '@testing-library/svelte'; import { describe, expect, it } from 'vitest'; import VorgangListPage from '../src/routes/(angemeldet)/list/+page.svelte'; import { baseData } from './fixtures'; import { ROUTE_NAMES } from '../src/routes'; describe('Vorgänge Liste Page EmptyList-Komponente View', () => { it('zeigt EmptyList-Komponente an, wenn Liste leer ist', () => { const testData = { ...baseData, vorgangList: [] }; const { getByTestId } = render(VorgangListPage, { props: { data: testData } }); expect(getByTestId('empty-list')).toBeInTheDocument(); }); it('zeigt Liste(mockData 2 Elemente) an, wenn Liste vorhanden ist', () => { const testData = { ...baseData }; const { getAllByTestId } = render(VorgangListPage, { props: { data: testData } }); const items = getAllByTestId('test-list-item'); expect(items.length).toBeGreaterThan(0); }); }); describe('Teste Links auf Korrektheit', () => { it('Überprüfe Links', () => { const vorgListOneItem = baseData.vorgangList.slice(0, 1); const vorgObj = vorgListOneItem[0]; const expectedURL = ROUTE_NAMES.VORGANG(vorgObj.vorgangToken, vorgObj.vorgangPIN) render(VorgangListPage, { props: { data: { ...baseData, vorgangList: vorgListOneItem } } }); const listItem = screen.getByTestId("test-list-item"); const linkElement = within(listItem).getByRole('link'); expect(linkElement).toBeInTheDocument(); expect(linkElement).toHaveAttribute('href', expectedURL); }); });