diff --git a/frontend/src/lib/activity/ChronikFuerDichBox.svelte.spec.ts b/frontend/src/lib/activity/ChronikFuerDichBox.svelte.spec.ts index 8ffd6713..41f1f277 100644 --- a/frontend/src/lib/activity/ChronikFuerDichBox.svelte.spec.ts +++ b/frontend/src/lib/activity/ChronikFuerDichBox.svelte.spec.ts @@ -4,36 +4,12 @@ import { page, userEvent } from 'vitest/browser'; import ChronikFuerDichBox from './ChronikFuerDichBox.svelte'; import type { NotificationItem } from '$lib/notification/notifications.svelte'; +import * as formsMock from '$mocks/$app/forms'; -const mockFormResult = vi.hoisted(() => ({ type: 'success' as string })); - -vi.mock('$app/forms', () => ({ - enhance( - node: HTMLFormElement, - submit?: (opts: { - formData: FormData; - }) => (opts: { - result: { type: string; data?: Record }; - update: () => Promise; - }) => Promise - ) { - const handler = async (e: Event) => { - e.preventDefault(); - const cb = submit?.({ formData: new FormData(node) } as never); - if (typeof cb === 'function') { - await ( - cb as (o: { result: typeof mockFormResult; update: () => Promise }) => Promise - )({ result: mockFormResult, update: async () => {} }); - } - }; - node.addEventListener('submit', handler); - return { destroy: () => node.removeEventListener('submit', handler) }; - } -})); +vi.mock('$app/forms', () => ({ ...formsMock })); afterEach(() => { cleanup(); - mockFormResult.type = 'success'; }); function notif(partial: Partial): NotificationItem { @@ -176,7 +152,7 @@ describe('ChronikFuerDichBox', () => { }); it('shows an accessible error banner when the dismiss action returns a failure', async () => { - mockFormResult.type = 'failure'; + formsMock.setFormResult({ type: 'failure' }); render(ChronikFuerDichBox, { unread: [notif({ id: 'err-1' })], optimisticMarkRead: vi.fn(),