Q148: a task's goal, project, workspace, runs, approvals and subtasks open with one click, and lead back
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
983d37937d
commit
766d4ab8cd
13 files changed
+188
-36
No files matched your search
@@ -72,6 +72,20 @@ test("the pinned CEO conversation is the Messages front door", async () => {
|
||||
// The message itself says where the reply stands.
|
||||
await expect(chatLog.locator(".chat-message", { hasText: "How are we tracking against the goal?" }).first()).toContainText("CEO will reply; queued.");
|
||||
|
||||
// From a task, its goal, run and back are one click each.
|
||||
await page.getByRole("button", { name: "Work" }).click();
|
||||
await page.getByRole("button", { name: /Operationalize goal: Ship the FlowPilot MVP\./ }).first().click();
|
||||
const taskDialog = page.getByRole("dialog", { name: "Operationalize goal: Ship the FlowPilot MVP." });
|
||||
await taskDialog.getByRole("button", { name: "Open goal Ship the FlowPilot MVP." }).click();
|
||||
await expect(page.getByText("Goal: Ship the FlowPilot MVP.", { exact: true })).toBeVisible();
|
||||
await page.getByRole("button", { name: /Operationalize goal: Ship the FlowPilot MVP\./ }).first().click();
|
||||
await taskDialog.getByRole("button", { name: /^Open run/ }).first().click();
|
||||
await expect(page.getByRole("button", { name: "Open task Operationalize goal: Ship the FlowPilot MVP." })).toBeVisible();
|
||||
await page.getByRole("button", { name: "Open task Operationalize goal: Ship the FlowPilot MVP." }).click();
|
||||
await expect(taskDialog).toBeVisible();
|
||||
await taskDialog.getByRole("button", { name: "Close" }).click();
|
||||
await page.getByRole("button", { name: "Messages" }).click();
|
||||
|
||||
// Recency pressure: newer traffic in a channel must not displace the pin.
|
||||
await page.evaluate(async () => {
|
||||
const api = (window as unknown as { agentCompany: {
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
import { describe, expect, test } from "vitest";
|
||||
import { decidedWindow } from "../../src/renderer/src/pages/approvals/decided-window";
|
||||
|
||||
describe("the decided approvals list", () => {
|
||||
const decided = Array.from({ length: 30 }, (_, index) => ({ id: `apr_${index}` }));
|
||||
|
||||
test("shows the newest 24", () => {
|
||||
expect(decidedWindow(decided, null).map((item) => item.id)).toEqual(decided.slice(0, 24).map((item) => item.id));
|
||||
});
|
||||
|
||||
test("adds an older focused approval so a link to it lands on it", () => {
|
||||
expect(decidedWindow(decided, "apr_27").map((item) => item.id)).toEqual([...decided.slice(0, 24).map((item) => item.id), "apr_27"]);
|
||||
expect(decidedWindow(decided, "apr_3")).toHaveLength(24);
|
||||
});
|
||||
});
|
||||
Reference in new issue
Block a user