From 7ee50e6541a597c0d73ead3dc834a26e65dc69a9 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 11 May 2026 17:52:06 +0200 Subject: [PATCH] test(admin): convert .not.toThrow into form-stays-mounted assertion (admin/groups/new) Co-Authored-By: Claude Opus 4.7 --- frontend/src/routes/admin/groups/new/page.svelte.test.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/frontend/src/routes/admin/groups/new/page.svelte.test.ts b/frontend/src/routes/admin/groups/new/page.svelte.test.ts index 9eaeaa64..d9841e91 100644 --- a/frontend/src/routes/admin/groups/new/page.svelte.test.ts +++ b/frontend/src/routes/admin/groups/new/page.svelte.test.ts @@ -90,11 +90,14 @@ describe('admin/groups/new page', () => { expect(document.body.textContent).not.toMatch(/ungespeicherte/i); }); - it('marks the form dirty after an input event without throwing', async () => { + it('keeps the form mounted after an input event (oninput handler does not unmount)', async () => { render(AdminGroupNewPage, { props: { form: undefined } }); const form = document.querySelector('form') as HTMLFormElement; - expect(() => form.dispatchEvent(new Event('input', { bubbles: true }))).not.toThrow(); + expect(form).not.toBeNull(); + form.dispatchEvent(new Event('input', { bubbles: true })); + + expect(document.querySelector('form')).not.toBeNull(); }); it('hides the form error banner when form is undefined (already covered, branch 2)', async () => {