@@ -236,39 +236,21 @@ test("Appearance button is visible in sidebar", async ({ page }) => {
236236 await expect ( page . getByTestId ( "theme-button" ) ) . toBeVisible ( )
237237} )
238238
239- test ( "User can switch from light mode to dark mode and vice versa " , async ( {
239+ test ( "User can switch between theme modes " , async ( {
240240 page,
241241} ) => {
242242 await page . goto ( "/settings" )
243243
244- await page . getByTestId ( "theme-button" ) . click ( )
245- if (
246- await page . evaluate ( ( ) =>
247- document . documentElement . classList . contains ( "dark" ) ,
248- )
249- ) {
250- await page . getByTestId ( "light-mode" ) . click ( )
251- await page . getByTestId ( "theme-button" ) . click ( )
252- }
253-
254- let isLightMode = await page . evaluate ( ( ) =>
255- document . documentElement . classList . contains ( "light" ) ,
256- )
257- expect ( isLightMode ) . toBe ( true )
258-
259244 await page . getByTestId ( "theme-button" ) . click ( )
260245 await page . getByTestId ( "dark-mode" ) . click ( )
261- const isDarkMode = await page . evaluate ( ( ) =>
262- document . documentElement . classList . contains ( "dark" ) ,
263- )
264- expect ( isDarkMode ) . toBe ( true )
246+ await expect ( page . locator ( "html" ) ) . toHaveClass ( / d a r k / )
247+
248+ // wait for dropdown to close before reopening
249+ await expect ( page . getByTestId ( "dark-mode" ) ) . not . toBeVisible ( )
265250
266251 await page . getByTestId ( "theme-button" ) . click ( )
267252 await page . getByTestId ( "light-mode" ) . click ( )
268- isLightMode = await page . evaluate ( ( ) =>
269- document . documentElement . classList . contains ( "light" ) ,
270- )
271- expect ( isLightMode ) . toBe ( true )
253+ await expect ( page . locator ( "html" ) ) . toHaveClass ( / l i g h t / )
272254} )
273255
274256test ( "Selected mode is preserved across sessions" , async ( { page } ) => {
0 commit comments