test(admin): expand admin/users/new page coverage

Adds unsaved-warning hidden by default, oninput dirty marker,
form-error banner hidden when form.error undefined.

3 new tests targeting ~6 branches.

Refs #496.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-05-10 05:19:34 +02:00
committed by marcel
parent b7f2841375
commit a09e25186f

View File

@@ -71,4 +71,26 @@ describe('admin/users/new page', () => {
await expect.element(page.getByRole('button', { name: /erstellen/i })).toBeVisible();
});
it('does not show the unsaved-warning banner before any input', async () => {
render(AdminUserNewPage, { props: { data: baseData(), form: undefined } });
const banner = document.querySelector('.bg-amber-50');
expect(banner).toBeNull();
});
it('marks the form dirty after an input event (sets isDirty internally)', 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();
});
it('hides the form-error banner when form.error is undefined', async () => {
render(AdminUserNewPage, { props: { data: baseData(), form: undefined } });
const banner = document.querySelector('.bg-red-50');
expect(banner).toBeNull();
});
});