From 9ea21f60eaa1136ffb25a2c6e544500f5426e350 Mon Sep 17 00:00:00 2001 From: Marcel Date: Thu, 11 Jun 2026 13:14:16 +0200 Subject: [PATCH] test(geschichte): replace waitForDebounce sleep with retrying locator waits (#795) Co-Authored-By: Claude Sonnet 4.6 --- .../src/lib/geschichte/StoryDocumentPanel.svelte.spec.ts | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/frontend/src/lib/geschichte/StoryDocumentPanel.svelte.spec.ts b/frontend/src/lib/geschichte/StoryDocumentPanel.svelte.spec.ts index 068f416f..db5e91af 100644 --- a/frontend/src/lib/geschichte/StoryDocumentPanel.svelte.spec.ts +++ b/frontend/src/lib/geschichte/StoryDocumentPanel.svelte.spec.ts @@ -4,8 +4,6 @@ import { page, userEvent } from 'vitest/browser'; import { m } from '$lib/paraglide/messages.js'; import StoryDocumentPanel from './StoryDocumentPanel.svelte'; -const waitForDebounce = () => new Promise((r) => setTimeout(r, 350)); - const docSummary = (id: string, title: string) => ({ id, title, @@ -79,7 +77,7 @@ const defaultProps = (overrides: Record = {}) => ({ async function addViaPicker(title: RegExp) { await userEvent.fill(page.getByRole('combobox'), 'Brief'); - await waitForDebounce(); + await expect.element(page.getByText(title)).toBeInTheDocument(); await userEvent.click(page.getByText(title)); } @@ -160,7 +158,7 @@ describe('StoryDocumentPanel — add', () => { ); await userEvent.fill(page.getByRole('combobox'), 'Brief'); - await waitForDebounce(); + await expect.element(page.getByRole('option')).toBeInTheDocument(); const option = document.querySelector('[role="listbox"] [role="option"]'); expect(option?.getAttribute('aria-disabled')).toBe('true');