From 74f4315c6f6edaf8e17de913e74e22f0d6a45b5c Mon Sep 17 00:00:00 2001 From: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> Date: Mon, 5 Oct 2026 11:40:07 +0800 Subject: [PATCH] test(workspace): read visible unassigned Task metadata Signed-off-by: LoopX Agent <337587101+loopx-agent@users.noreply.github.com> --- examples/personal-workspace-browser/typed-actions.mjs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/examples/personal-workspace-browser/typed-actions.mjs b/examples/personal-workspace-browser/typed-actions.mjs index 74211f8e3e..00feac3435 100644 --- a/examples/personal-workspace-browser/typed-actions.mjs +++ b/examples/personal-workspace-browser/typed-actions.mjs @@ -1,3 +1,4 @@ +import assert from "node:assert/strict"; import { resolve } from "node:path"; import { @@ -890,7 +891,10 @@ export const typedActionsScenario = { await page.getByRole("heading", { name: "Progress Projection" }).waitFor({ state: "visible" }); await page.locator(".personal-task-card").getByText("Current Todo", {exact: true}).waitFor(); const unclaimedCard = page.locator(".personal-task-card", {hasText: "Current Todo"}); - await unclaimedCard.getByText("未分配", {exact: true}).waitFor(); + // The owner is visible text alongside status badges, not necessarily + // a separate element. Check the displayed fact without requiring a span. + assert.match(await unclaimedCard.locator(":scope > button small").innerText(), /未分配/, + "An unclaimed task must remain unassigned on its card"); await unclaimedCard.getByText("Current Todo", {exact: true}).click(); const unclaimedOwner = page.getByRole("dialog", {name: "Todo 详情"}).locator("dl > div", {has: page.getByText("Owner", {exact: true})}); await unclaimedOwner.getByText("未分配", {exact: true}).waitFor();