Skip to content

Commit c8532dc

Browse files
committed
✅ Fix test
1 parent c365087 commit c8532dc

File tree

1 file changed

+6
-24
lines changed

1 file changed

+6
-24
lines changed

frontend/tests/user-settings.spec.ts

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -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(/dark/)
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(/light/)
272254
})
273255

274256
test("Selected mode is preserved across sessions", async ({ page }) => {

0 commit comments

Comments
 (0)