Skip to content

Commit 32ff7fe

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 32ff7fe

1 file changed

Lines changed: 5 additions & 14 deletions

File tree

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

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,11 @@ export async function handlePasswordConfirmation(page: Page, password = 'admin')
1515
const dialog = page.locator('.modal-container:has-text("Authentication required")')
1616

1717
try {
18-
// 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-
}
18+
await dialog.waitFor({ state: 'visible', timeout: 500 })
19+
await dialog.locator('input[type="password"]').fill(password)
20+
await dialog.getByRole('button', { name: 'Confirm' }).click()
21+
await dialog.waitFor({ state: 'hidden' })
3122
} catch {
32-
// Dialog didn't appear, which is fine - some operations might not require confirmation
23+
// Dialog didn't appearsome operations don't require confirmation.
3324
}
3425
}

0 commit comments

Comments
 (0)