Skip to content

Commit 225b20e

Browse files
committed
Fix cookie modal e2e helper
1 parent 52d7820 commit 225b20e

1 file changed

Lines changed: 38 additions & 0 deletions

File tree

test/e2e/helpers/cookieHelper.ts

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,44 @@
44
*/
55
import type { Page } from '@playwright/test'
66

7+
/**
8+
* Dismiss cookie consent modal if it's visible
9+
*/
10+
export async function dismissCookieModal(page: Page): Promise<void> {
11+
try {
12+
// Set consent cookies
13+
await page.evaluate(() => {
14+
document.cookie = 'consent_analytics=true; path=/; max-age=31536000'
15+
document.cookie = 'consent_marketing=true; path=/; max-age=31536000'
16+
document.cookie = 'consent_functional=true; path=/; max-age=31536000'
17+
18+
// Clear localStorage
19+
if (typeof localStorage !== 'undefined') {
20+
localStorage.removeItem('cookieConsent')
21+
localStorage.removeItem('gdprConsent')
22+
}
23+
})
24+
25+
// Force hide the modal
26+
await page.evaluate(() => {
27+
const modal = document.getElementById('consent-modal-id')
28+
if (modal) {
29+
modal.style.display = 'none'
30+
}
31+
})
32+
33+
// Click dismiss button if available
34+
const dismissSelector = '[data-testid="cookie-consent-dismiss"], [data-testid="consent-accept"], .consent-accept'
35+
const dismissButton = page.locator(dismissSelector).first()
36+
if (await dismissButton.isVisible()) {
37+
await dismissButton.click()
38+
}
39+
} catch (error) {
40+
// Silently continue if modal dismissal fails
41+
console.debug('Cookie modal dismissal failed:', error)
42+
}
43+
}
44+
745
/**
846
* Dismisses cookie consent modal if it's visible and ensures proper consent cookies are set
947
* Enhanced for View Transitions compatibility

0 commit comments

Comments
 (0)