File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 44 */
55import 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
You can’t perform that action at this time.
0 commit comments