Skip to content

Commit c78573f

Browse files
committed
Improve newsletter subscript test selector to remove flakiness
1 parent cea1e2e commit c78573f

1 file changed

Lines changed: 7 additions & 2 deletions

File tree

‎test/e2e/specs/03-forms/newsletter-subscription.spec.ts‎

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,11 @@ test.describe('Newsletter Subscription Form', () => {
217217
await newsletterPage.fillEmail(TEST_EMAILS.valid)
218218
await newsletterPage.checkGdprConsent()
219219

220+
await newsletterPage.waitForFunction(() => {
221+
const button = document.querySelector('#newsletter-submit')
222+
return button instanceof HTMLButtonElement && button.disabled === false
223+
}, undefined, { timeout: 3000 })
224+
220225
const browserName = newsletterPage.context().browser()?.browserType().name()
221226
const delayMs = browserName === 'webkit' ? 400 : 200
222227
const delayOverride = await delayFetchForEndpoint(newsletterPage.page, { endpoint: '/api/newsletter', delayMs })
@@ -225,9 +230,9 @@ test.describe('Newsletter Subscription Form', () => {
225230
const submitPromise = submitButton.click()
226231

227232
try {
228-
await expect(submitButton).toBeDisabled()
233+
await expect(submitButton).toBeDisabled({ timeout: 2000 })
229234
await submitPromise
230-
await expect(submitButton).not.toBeDisabled()
235+
await expect(submitButton).toBeEnabled({ timeout: 2000 })
231236
} finally {
232237
await delayOverride.restore()
233238
}

0 commit comments

Comments
 (0)