mirror of
https://gitea.toothfairyai.com/ToothFairyAI/tf_code.git
synced 2026-04-03 15:43:45 +00:00
38 lines
1.1 KiB
TypeScript
38 lines
1.1 KiB
TypeScript
import { seedSessionTask, withSession } from "../actions"
|
|
import { test, expect } from "../fixtures"
|
|
|
|
test("task tool child-session link does not trigger stale show errors", async ({ page, sdk, gotoSession }) => {
|
|
test.setTimeout(120_000)
|
|
|
|
const errs: string[] = []
|
|
const onError = (err: Error) => {
|
|
errs.push(err.message)
|
|
}
|
|
page.on("pageerror", onError)
|
|
|
|
await withSession(sdk, `e2e child nav ${Date.now()}`, async (session) => {
|
|
const child = await seedSessionTask(sdk, {
|
|
sessionID: session.id,
|
|
description: "Open child session",
|
|
prompt: "Search the repository for AssistantParts and then reply with exactly CHILD_OK.",
|
|
})
|
|
|
|
try {
|
|
await gotoSession(session.id)
|
|
|
|
const link = page
|
|
.locator("a.subagent-link")
|
|
.filter({ hasText: /open child session/i })
|
|
.first()
|
|
await expect(link).toBeVisible({ timeout: 30_000 })
|
|
await link.click()
|
|
|
|
await expect(page).toHaveURL(new RegExp(`/session/${child.sessionID}(?:[/?#]|$)`), { timeout: 30_000 })
|
|
await page.waitForTimeout(1000)
|
|
expect(errs).toEqual([])
|
|
} finally {
|
|
page.off("pageerror", onError)
|
|
}
|
|
})
|
|
})
|