mirror of
https://github.com/anomalyco/opencode.git
synced 2026-11-13 19:46:16 +03:00
7b3f52f810
Co-authored-by: Kit Langton <kit.langton@gmail.com>
30 lines
1.5 KiB
TypeScript
30 lines
1.5 KiB
TypeScript
import { expect, story } from "../../stories/playwright/story"
|
|
|
|
story("a subagent session shows its model where the composer would be", async ({ mount, page }) => {
|
|
await mount("app-current-session-surface--child-session")
|
|
|
|
const bar = page.locator('[data-component="subagent-bar"]')
|
|
// The variant follows the model name, dimmer and without a separator, like the message metadata.
|
|
const model = bar.locator('[data-slot="subagent-model"]')
|
|
await expect(model).toHaveText("Anthropic / Claude Opus 5.5 high")
|
|
await expect(model.getByText("high", { exact: true })).toHaveCSS("opacity", "0.66")
|
|
await expect(page.locator('[data-component="composer"]')).toHaveCount(0)
|
|
|
|
// A status line, not a second composer card.
|
|
await expect(bar).toHaveCSS("border-top-left-radius", "0px")
|
|
await expect(bar).toHaveCSS("height", "32px")
|
|
|
|
await bar.getByRole("button", { name: /main session/i }).click()
|
|
await expect(page.getByText("Opened the parent Session locally")).toBeVisible()
|
|
})
|
|
|
|
story("a subagent with no recorded outcome starts its line at the agent", async ({ mount, page }) => {
|
|
await mount("app-current-session-surface--child-session-no-outcome")
|
|
|
|
const bar = page.locator('[data-component="subagent-bar"]')
|
|
await expect(bar.locator('[data-slot="subagent-model"]')).toBeVisible()
|
|
// No empty status icon box, and no separator before the first item.
|
|
await expect(bar.locator(":scope > span")).toHaveCount(0)
|
|
await expect(bar).toHaveText(/^surveyor·Anthropic/)
|
|
})
|