From 81ed1ce3ed63091447f54de4380b9ef870468869 Mon Sep 17 00:00:00 2001 From: Marcel Date: Tue, 31 Mar 2026 20:23:05 +0200 Subject: [PATCH] test(admin): replace setTimeout timing hack with vi.waitFor in layout specs Co-Authored-By: Claude Sonnet 4.6 --- frontend/src/routes/admin/groups/layout.svelte.spec.ts | 5 +++-- frontend/src/routes/admin/tags/layout.svelte.spec.ts | 5 +++-- frontend/src/routes/admin/users/layout.svelte.spec.ts | 5 +++-- 3 files changed, 9 insertions(+), 6 deletions(-) diff --git a/frontend/src/routes/admin/groups/layout.svelte.spec.ts b/frontend/src/routes/admin/groups/layout.svelte.spec.ts index eba52f63..68a35cf5 100644 --- a/frontend/src/routes/admin/groups/layout.svelte.spec.ts +++ b/frontend/src/routes/admin/groups/layout.svelte.spec.ts @@ -112,8 +112,9 @@ describe('GroupsListPanel — collapse toggle', () => { render(GroupsListPanel, { groups }); const setSpy = vi.spyOn(Storage.prototype, 'setItem'); document.querySelector('[aria-label="Liste einklappen"]')!.click(); - await new Promise((r) => setTimeout(r, 0)); - expect(setSpy).toHaveBeenCalledWith('admin_groups_list_collapsed', 'true'); + await vi.waitFor(() => + expect(setSpy).toHaveBeenCalledWith('admin_groups_list_collapsed', 'true') + ); setSpy.mockRestore(); }); }); diff --git a/frontend/src/routes/admin/tags/layout.svelte.spec.ts b/frontend/src/routes/admin/tags/layout.svelte.spec.ts index 40aab79f..c3edbbad 100644 --- a/frontend/src/routes/admin/tags/layout.svelte.spec.ts +++ b/frontend/src/routes/admin/tags/layout.svelte.spec.ts @@ -91,8 +91,9 @@ describe('TagsListPanel — collapse toggle', () => { render(TagsListPanel, { tags }); const setSpy = vi.spyOn(Storage.prototype, 'setItem'); document.querySelector('[aria-label="Liste einklappen"]')!.click(); - await new Promise((r) => setTimeout(r, 0)); - expect(setSpy).toHaveBeenCalledWith('admin_tags_list_collapsed', 'true'); + await vi.waitFor(() => + expect(setSpy).toHaveBeenCalledWith('admin_tags_list_collapsed', 'true') + ); setSpy.mockRestore(); }); }); diff --git a/frontend/src/routes/admin/users/layout.svelte.spec.ts b/frontend/src/routes/admin/users/layout.svelte.spec.ts index d10a3e0b..84164697 100644 --- a/frontend/src/routes/admin/users/layout.svelte.spec.ts +++ b/frontend/src/routes/admin/users/layout.svelte.spec.ts @@ -134,8 +134,9 @@ describe('UsersListPanel — collapse toggle', () => { render(UsersListPanel, { users }); const setSpy = vi.spyOn(Storage.prototype, 'setItem'); document.querySelector('[aria-label="Liste einklappen"]')!.click(); - await new Promise((r) => setTimeout(r, 0)); - expect(setSpy).toHaveBeenCalledWith('admin_users_list_collapsed', 'true'); + await vi.waitFor(() => + expect(setSpy).toHaveBeenCalledWith('admin_users_list_collapsed', 'true') + ); setSpy.mockRestore(); }); });