test(admin): replace setTimeout timing hack with vi.waitFor in layout specs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Marcel
2026-03-31 20:23:05 +02:00
parent 92e7aa127c
commit 81ed1ce3ed
3 changed files with 9 additions and 6 deletions

View File

@@ -112,8 +112,9 @@ describe('GroupsListPanel — collapse toggle', () => {
render(GroupsListPanel, { groups });
const setSpy = vi.spyOn(Storage.prototype, 'setItem');
document.querySelector<HTMLButtonElement>('[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();
});
});

View File

@@ -91,8 +91,9 @@ describe('TagsListPanel — collapse toggle', () => {
render(TagsListPanel, { tags });
const setSpy = vi.spyOn(Storage.prototype, 'setItem');
document.querySelector<HTMLButtonElement>('[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();
});
});

View File

@@ -134,8 +134,9 @@ describe('UsersListPanel — collapse toggle', () => {
render(UsersListPanel, { users });
const setSpy = vi.spyOn(Storage.prototype, 'setItem');
document.querySelector<HTMLButtonElement>('[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();
});
});