heynote/tests/settings.spec.js

41 lines
1.7 KiB
JavaScript
Raw Normal View History

import { test, expect } from "@playwright/test";
import { HeynotePage } from "./test-utils.js";
let heynotePage
test.beforeEach(async ({ page }) => {
heynotePage = new HeynotePage(page)
await heynotePage.goto()
});
test("test open settings dialog", async ({ page }) => {
await page.locator("css=.status-block.settings").click()
await expect(page.locator("css=.overlay .settings .dialog")).toBeVisible()
})
test("test close settings dialog", async ({ page }) => {
await page.locator("css=.status-block.settings").click()
await page.locator("css=.overlay .settings .dialog .bottom-bar .close").click()
await expect(page.locator("css=.overlay .settings .dialog")).not.toBeVisible()
})
test("test close settings dialog with escape", async ({ page }) => {
await page.locator("css=.status-block.settings").click()
await page.locator("body").press("Escape")
await expect(page.locator("css=.overlay .settings .dialog")).not.toBeVisible()
})
test("test change line gutter setting", async ({ page }) => {
await expect(page.locator("css=.cm-lineNumbers")).toBeVisible()
await page.locator("css=.status-block.settings").click()
await page.locator("css=.overlay .settings .dialog .sidebar li.tab-appearance").click()
await expect(page.locator("css=.settings .tab-content.tab-appearance")).toBeVisible()
await page.getByLabel("Show line numbers").click()
await expect(page.locator("css=.cm-lineNumbers")).toBeHidden()
expect((await heynotePage.getStoredSettings()).showLineNumberGutter).toBe(false)
await page.getByLabel("Show line numbers").click()
await expect(page.locator("css=.cm-lineNumbers")).toBeVisible()
expect((await heynotePage.getStoredSettings()).showLineNumberGutter).toBe(true)
})