Files
tatort/tests/views/VorgangList.view.test.ts

37 lines
1.5 KiB
TypeScript

import { render, screen, within } from '@testing-library/svelte';
import { describe, expect, it } from 'vitest';
import VorgangListPage from '$root/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);
});
});