From 10151fd01bb37f56a776c4794d8fbb16bdd5b822 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 11 May 2026 17:50:51 +0200 Subject: [PATCH] test(admin): convert .not.toThrow into form-stays-mounted assertion (admin/users/new) Co-Authored-By: Claude Opus 4.7 --- frontend/src/routes/admin/users/new/page.svelte.test.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/frontend/src/routes/admin/users/new/page.svelte.test.ts b/frontend/src/routes/admin/users/new/page.svelte.test.ts index 264dd628..97528d4e 100644 --- a/frontend/src/routes/admin/users/new/page.svelte.test.ts +++ b/frontend/src/routes/admin/users/new/page.svelte.test.ts @@ -79,12 +79,14 @@ describe('admin/users/new page', () => { expect(banner).toBeNull(); }); - it('marks the form dirty after an input event (sets isDirty internally)', async () => { + it('keeps the form mounted after an input event (oninput handler does not unmount)', async () => { render(AdminUserNewPage, { props: { data: baseData(), form: undefined } }); const form = document.querySelector('form#new-user-form') as HTMLFormElement; - // Dispatch input event on the form to trigger oninput handler - 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#new-user-form')).not.toBeNull(); }); it('hides the form-error banner when form.error is undefined', async () => {