Skip to content

Commit 83f469c

Browse files
committed
chore(playwright): Rewrite login handler to avoid race conditions
Assisted-by: ClaudeCode:claude-opus-4.6[1M] Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
1 parent fe12dc2 commit 83f469c

1 file changed

Lines changed: 11 additions & 12 deletions

File tree

tests/playwright/support/utils/password-confirmation.ts

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -16,19 +16,18 @@ export async function handlePasswordConfirmation(page: Page, password = 'admin')
1616

1717
try {
1818
// Check if the dialog exists within a short timeout
19-
const dialogVisible = await dialog.isVisible({ timeout: 500 }).catch(() => false)
20-
21-
if (dialogVisible) {
22-
// Fill the password field
23-
await dialog.locator('input[type="password"]').fill(password)
24-
25-
// Click the confirm button
26-
await dialog.getByRole('button', { name: 'Confirm' }).click()
27-
28-
// Wait for the dialog to disappear
29-
await dialog.waitFor({ state: 'hidden' })
30-
}
19+
await dialog.waitFor({ state: 'visible', timeout: 500 })
3120
} catch {
3221
// Dialog didn't appear, which is fine - some operations might not require confirmation
22+
return
3323
}
24+
25+
// Fill the password field
26+
await dialog.locator('input[type="password"]').fill(password)
27+
28+
// Click the confirm button
29+
await dialog.getByRole('button', { name: 'Confirm' }).click()
30+
31+
// Wait for the dialog to disappear
32+
await dialog.waitFor({ state: 'hidden' })
3433
}

0 commit comments

Comments
 (0)