mirror of
https://github.com/anomalyco/opencode.git
synced 2026-11-09 22:25:02 +03:00
39 lines
2.0 KiB
TypeScript
39 lines
2.0 KiB
TypeScript
import { expect, story } from "../../stories/playwright/story"
|
|
|
|
// Moved from packages/app/e2e/regression/session-timeline-notices.spec.ts
|
|
story("renders the moved location notice as a timeline divider", async ({ mount, page }) => {
|
|
const directory = `/Users/usrnk1/Developer/opencode/${"nested-directory/".repeat(24)}session`
|
|
await page.setViewportSize({ width: 480, height: 720 })
|
|
const timeline = await mount("current-session-timeline-rows--conversation", { args: { scenario: "location" } })
|
|
const notice = timeline.locator('[data-slot="session-timeline-notice"][data-type="location-switched"]')
|
|
const label = notice.locator('[data-slot="session-timeline-notice-label"]')
|
|
const value = notice.locator('[data-slot="session-timeline-notice-value"]')
|
|
const tooltipTrigger = notice.locator('[data-component="tooltip-v2-trigger"]')
|
|
|
|
await expect(label).toHaveText("Moved to")
|
|
await expect(value).toHaveText(directory)
|
|
await expect(notice).not.toContainText("·")
|
|
await expect(notice.locator("svg")).toHaveCount(0)
|
|
await expect(notice).toHaveCSS("padding-top", "8px")
|
|
await expect(notice).toHaveCSS("padding-bottom", "8px")
|
|
await expect(label).toHaveCSS("font-size", "13px")
|
|
await expect(label).toHaveCSS("font-weight", "440")
|
|
await expect(label).toHaveCSS("line-height", "16px")
|
|
await expect(value).toHaveCSS("font-size", "13px")
|
|
await expect(value).toHaveCSS("font-weight", "440")
|
|
await expect(value).toHaveCSS("line-height", "16px")
|
|
await expect(value).toHaveCSS("text-overflow", "ellipsis")
|
|
await expect(value).toHaveCSS("white-space", "nowrap")
|
|
await expect(value).toHaveAttribute("dir", "ltr")
|
|
await expect.poll(() => value.evaluate((element) => element.scrollWidth > element.clientWidth)).toBe(true)
|
|
|
|
const tooltip = page.getByText("Session working directory changed", { exact: true })
|
|
await label.hover()
|
|
await expect(tooltip).toBeVisible()
|
|
await page.mouse.move(0, 0)
|
|
await expect(tooltip).toBeHidden()
|
|
await tooltipTrigger.focus()
|
|
await expect(tooltipTrigger).toBeFocused()
|
|
await expect(tooltip).toBeVisible()
|
|
})
|