Files
tatort/tests/ComponentNameItemEditor.view.test.ts

44 lines
1.4 KiB
TypeScript

import { fireEvent, render } from '@testing-library/svelte';
import { describe, expect, it, vi } from "vitest";
import NameItemEditor from '$lib/components/NameItemEditor.svelte';
import { baseData } from './fixtures';
const testCrimesListIndex = 0;
const testItem = baseData.crimesList[testCrimesListIndex];
const editedName = baseData.crimeNames[testCrimesListIndex];
const currentName = testItem.name;
const onSave = vi.fn();
const onDelete = vi.fn();
describe('Button-Anzeige mit Icons', () => {
const baseProps = {list: baseData.crimesList, editedName, currentName, onDelete, onSave}
it('zeigt Edit/Delete Buttons initial', () => {
const { getByTestId, queryByTestId } = render(NameItemEditor, {
props: baseProps
});
expect(getByTestId('edit-button')).toBeInTheDocument();
expect(getByTestId('delete-button')).toBeInTheDocument();
expect(queryByTestId('commit-button')).toBeNull();
expect(queryByTestId('cancel-button')).toBeNull();
});
it('zeigt Commit/Cancel Buttons nach Klick auf Edit', async () => {
const { getByTestId, queryByTestId } = render(NameItemEditor, {
props: baseProps
});
await fireEvent.click(getByTestId('edit-button'));
expect(getByTestId('commit-button')).toBeInTheDocument();
expect(getByTestId('cancel-button')).toBeInTheDocument();
expect(queryByTestId('edit-button')).toBeNull();
expect(queryByTestId('delete-button')).toBeNull();
});
});