diff options
Diffstat (limited to 'packages/app/e2e/sidebar')
| -rw-r--r-- | packages/app/e2e/sidebar/sidebar.spec.ts | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/packages/app/e2e/sidebar/sidebar.spec.ts b/packages/app/e2e/sidebar/sidebar.spec.ts index 6239a04bd..5c78c2220 100644 --- a/packages/app/e2e/sidebar/sidebar.spec.ts +++ b/packages/app/e2e/sidebar/sidebar.spec.ts @@ -1,5 +1,5 @@ import { test, expect } from "../fixtures" -import { openSidebar, toggleSidebar } from "../actions" +import { openSidebar, toggleSidebar, withSession } from "../actions" test("sidebar can be collapsed and expanded", async ({ page, gotoSession }) => { await gotoSession() @@ -12,3 +12,26 @@ test("sidebar can be collapsed and expanded", async ({ page, gotoSession }) => { await toggleSidebar(page) await expect(page.locator("main")).not.toHaveClass(/xl:border-l/) }) + +test("sidebar collapsed state persists across navigation and reload", async ({ page, sdk, gotoSession }) => { + await withSession(sdk, "sidebar persist session 1", async (session1) => { + await withSession(sdk, "sidebar persist session 2", async (session2) => { + await gotoSession(session1.id) + + await openSidebar(page) + await toggleSidebar(page) + await expect(page.locator("main")).toHaveClass(/xl:border-l/) + + await gotoSession(session2.id) + await expect(page.locator("main")).toHaveClass(/xl:border-l/) + + await page.reload() + await expect(page.locator("main")).toHaveClass(/xl:border-l/) + + const opened = await page.evaluate( + () => JSON.parse(localStorage.getItem("opencode.global.dat:layout") ?? "{}").sidebar?.opened, + ) + await expect(opened).toBe(false) + }) + }) +}) |
