@@ -18,7 +18,7 @@ test.describe('Dark Mode Theme Switching', () => {
1818 addPageAnnotationBeforeEach ( PAGES . SHARE . THEME_TOGGLE ) ;
1919 let themePage : ThemePage ;
2020
21- test . beforeEach ( async ( { page, browserName } ) => {
21+ test . beforeEach ( async ( { page } ) => {
2222 themePage = new ThemePage ( page ) ;
2323 await page . goto ( '/' ) ;
2424 await waitForZeppelinReady ( page ) ;
@@ -31,8 +31,6 @@ test.describe('Dark Mode Theme Switching', () => {
3131 } ) ;
3232
3333 test ( 'Scenario: User can switch to dark mode and persistence is maintained' , async ( { page, context } ) => {
34- let currentPage = page ;
35-
3634 // GIVEN: User is on the main page, which starts in 'system' mode by default (localStorage cleared).
3735 await test . step ( 'GIVEN the page starts in system mode' , async ( ) => {
3836 await themePage . assertSystemTheme ( ) ; // Robot icon for system theme
@@ -41,32 +39,18 @@ test.describe('Dark Mode Theme Switching', () => {
4139 // WHEN: Explicitly set theme to light mode for the rest of the test.
4240 await test . step ( 'WHEN the user explicitly sets theme to light mode' , async ( ) => {
4341 await themePage . setThemeInLocalStorage ( 'light' ) ;
44- await page . reload ( ) ;
42+ await page . waitForTimeout ( 500 ) ;
43+ await Promise . all ( [ page . waitForLoadState ( 'load' ) , page . reload ( ) ] ) ;
4544 await waitForZeppelinReady ( page ) ;
4645 await themePage . assertLightTheme ( ) ; // Now it should be light mode with sun icon
4746 } ) ;
4847
4948 // WHEN: User switches to dark mode by setting localStorage and reloading.
50- await test . step ( 'WHEN the user switches to dark mode' , async ( ) => {
49+ await test . step ( 'WHEN the user explicitly sets theme to dark mode' , async ( ) => {
5150 await themePage . setThemeInLocalStorage ( 'dark' ) ;
52- const newPage = await context . newPage ( ) ;
53- await newPage . goto ( currentPage . url ( ) , { waitUntil : 'networkidle' } ) ;
54- await waitForZeppelinReady ( newPage ) ;
55-
56- // Update themePage to use newPage and verify dark mode
57- themePage = new ThemePage ( newPage ) ;
58- currentPage = newPage ;
59- await themePage . assertDarkTheme ( ) ;
60- } ) ;
61-
62- // AND: User refreshes the page.
63- await test . step ( 'AND the user refreshes the page' , async ( ) => {
64- await currentPage . reload ( ) ;
65- await waitForZeppelinReady ( currentPage ) ;
66- } ) ;
67-
68- // THEN: Dark mode is maintained after refresh.
69- await test . step ( 'THEN dark mode is maintained after refresh' , async ( ) => {
51+ await page . waitForTimeout ( 500 ) ;
52+ await Promise . all ( [ page . waitForLoadState ( 'load' ) , page . reload ( ) ] ) ;
53+ await waitForZeppelinReady ( page ) ;
7054 await themePage . assertDarkTheme ( ) ;
7155 } ) ;
7256
0 commit comments