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:
@@ -71,4 +71,26 @@ describe('admin/users/new page', () => {
|
|||||||
|
|
||||||
await expect.element(page.getByRole('button', { name: /erstellen/i })).toBeVisible();
|
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();
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user