diff options
| author | Filip <[email protected]> | 2026-01-30 19:04:02 +0100 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-01-30 18:04:02 +0000 |
| commit | f48e2e56c95a7b96648176f1f783929dc4f33b37 (patch) | |
| tree | 106a32d8955e3ec5f10b80d1d6dbbae01d22626a /packages/app/e2e/settings/settings.spec.ts | |
| parent | fe66ca163cbb9d689cf296c4c2f7a63414c1cf45 (diff) | |
| download | opencode-f48e2e56c95a7b96648176f1f783929dc4f33b37.tar.gz opencode-f48e2e56c95a7b96648176f1f783929dc4f33b37.zip | |
test(app): change language test (#11295)
Diffstat (limited to 'packages/app/e2e/settings/settings.spec.ts')
| -rw-r--r-- | packages/app/e2e/settings/settings.spec.ts | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/packages/app/e2e/settings/settings.spec.ts b/packages/app/e2e/settings/settings.spec.ts new file mode 100644 index 000000000..293a4ba9a --- /dev/null +++ b/packages/app/e2e/settings/settings.spec.ts @@ -0,0 +1,44 @@ +import { test, expect } from "../fixtures" +import { modKey } from "../utils" + +test("smoke settings dialog opens, switches tabs, closes", async ({ page, gotoSession }) => { + await gotoSession() + + const dialog = page.getByRole("dialog") + + await page.keyboard.press(`${modKey}+Comma`).catch(() => undefined) + + const opened = await dialog + .waitFor({ state: "visible", timeout: 3000 }) + .then(() => true) + .catch(() => false) + + if (!opened) { + await page.getByRole("button", { name: "Settings" }).first().click() + await expect(dialog).toBeVisible() + } + + await dialog.getByRole("tab", { name: "Shortcuts" }).click() + await expect(dialog.getByRole("button", { name: "Reset to defaults" })).toBeVisible() + await expect(dialog.getByPlaceholder("Search shortcuts")).toBeVisible() + + await page.keyboard.press("Escape") + + const closed = await dialog + .waitFor({ state: "detached", timeout: 1500 }) + .then(() => true) + .catch(() => false) + + if (closed) return + + await page.keyboard.press("Escape") + const closedSecond = await dialog + .waitFor({ state: "detached", timeout: 1500 }) + .then(() => true) + .catch(() => false) + + if (closedSecond) return + + await page.locator('[data-component="dialog-overlay"]').click({ position: { x: 5, y: 5 } }) + await expect(dialog).toHaveCount(0) +}) |
