test(journey-item-row): add note-patch rejection error-state test
The noteError alert path (role=alert paragraph) was untested. The catch block in handleNoteBlur was already implemented; this test verifies it renders the alert when onNotePatch rejects. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -52,6 +52,20 @@ describe('JourneyItemRow — note textarea', () => {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('JourneyItemRow — note error state', () => {
|
||||||
|
it('shows role=alert error message when onNotePatch rejects', async () => {
|
||||||
|
const onNotePatch = vi.fn().mockRejectedValue(new Error('server error'));
|
||||||
|
render(JourneyItemRow, { item: docItem(), ...defaultProps({ onNotePatch }) });
|
||||||
|
|
||||||
|
await userEvent.click(page.getByText('Notiz hinzufügen'));
|
||||||
|
const textarea = page.getByRole('textbox', { name: /Kuratoren-Notiz für Brief von Karl/ });
|
||||||
|
await userEvent.fill(textarea, 'Eine Notiz');
|
||||||
|
await textarea.element().dispatchEvent(new FocusEvent('blur'));
|
||||||
|
|
||||||
|
await expect.element(page.getByRole('alert')).toBeInTheDocument();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('JourneyItemRow — interlude rules', () => {
|
describe('JourneyItemRow — interlude rules', () => {
|
||||||
it('does not show "Notiz entfernen" for interlude items', async () => {
|
it('does not show "Notiz entfernen" for interlude items', async () => {
|
||||||
render(JourneyItemRow, { item: interludeItem(), ...defaultProps() });
|
render(JourneyItemRow, { item: interludeItem(), ...defaultProps() });
|
||||||
|
|||||||
Reference in New Issue
Block a user