diff options
| author | David Hill <[email protected]> | 2026-03-23 00:20:49 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2026-03-23 10:20:49 +1000 |
| commit | 2b171828b0365e8a3cc25cc89de30a740132b947 (patch) | |
| tree | 41ea7f3d98042e74aac707100e3527d06c804f70 /packages/app/e2e | |
| parent | 8dd817023a2e5798fe977f25d18478995380d347 (diff) | |
| download | opencode-2b171828b0365e8a3cc25cc89de30a740132b947.tar.gz opencode-2b171828b0365e8a3cc25cc89de30a740132b947.zip | |
tui: prevent project avatar popover flicker when switching projects (#18660)
Co-authored-by: LukeParkerDev <[email protected]>
Diffstat (limited to 'packages/app/e2e')
| -rw-r--r-- | packages/app/e2e/sidebar/sidebar-popover-actions.spec.ts | 43 |
1 files changed, 42 insertions, 1 deletions
diff --git a/packages/app/e2e/sidebar/sidebar-popover-actions.spec.ts b/packages/app/e2e/sidebar/sidebar-popover-actions.spec.ts index d10fca0e4..4dc5e6acd 100644 --- a/packages/app/e2e/sidebar/sidebar-popover-actions.spec.ts +++ b/packages/app/e2e/sidebar/sidebar-popover-actions.spec.ts @@ -1,6 +1,15 @@ import { test, expect } from "../fixtures" -import { cleanupSession, closeSidebar, hoverSessionItem } from "../actions" +import { + cleanupSession, + cleanupTestProject, + closeSidebar, + createTestProject, + hoverSessionItem, + openSidebar, + waitSession, +} from "../actions" import { projectSwitchSelector } from "../selectors" +import { dirSlug } from "../utils" test("collapsed sidebar popover stays open when archiving a session", async ({ page, slug, sdk, gotoSession }) => { const stamp = Date.now() @@ -37,3 +46,35 @@ test("collapsed sidebar popover stays open when archiving a session", async ({ p await cleanupSession({ sdk, sessionID: two.id }) } }) + +test("open sidebar project popover stays closed after clicking avatar", async ({ page, withProject }) => { + await page.setViewportSize({ width: 1400, height: 800 }) + + const other = await createTestProject() + const slug = dirSlug(other) + + try { + await withProject( + async () => { + await openSidebar(page) + + const project = page.locator(projectSwitchSelector(slug)).first() + const card = page.locator('[data-component="hover-card-content"]') + + await expect(project).toBeVisible() + await project.hover() + await expect(card.getByText(/recent sessions/i)).toBeVisible() + + await page.mouse.down() + await expect(card).toHaveCount(0) + await page.mouse.up() + + await waitSession(page, { directory: other }) + await expect(card).toHaveCount(0) + }, + { extra: [other] }, + ) + } finally { + await cleanupTestProject(other) + } +}) |
