test: mark presentation focal surfaces
This commit is contained in:
@@ -13,6 +13,9 @@ describe("OpeningThesisScene", () => {
|
||||
|
||||
const opening = screen.getByRole("region", { name: /thesis opening/i });
|
||||
expect(opening).toHaveAttribute("data-opening-focus", "title");
|
||||
expect(opening).toHaveAttribute("data-presentation-surface", "editorial");
|
||||
expect(screen.getByRole("heading", { name: "An AI Agent for Workspace Workflows" }).parentElement)
|
||||
.toHaveAttribute("data-visual-role", "title-hero");
|
||||
expect(screen.getByRole("heading", { name: /Design and Implementation of lda\.chat/i })).toBeInTheDocument();
|
||||
expect(screen.getByRole("heading", { name: "An AI Agent for Workspace Workflows" })).toBeInTheDocument();
|
||||
const roles = screen.getByRole("group", { name: "AI agent roles" });
|
||||
|
||||
@@ -17,6 +17,7 @@ export const OpeningThesisScene = ({ scene, beat }: OpeningThesisSceneProps) =>
|
||||
className="opening-thesis-scene"
|
||||
aria-label="thesis opening"
|
||||
data-opening-focus={contributionBeat ? "contribution" : "title"}
|
||||
data-presentation-surface="editorial"
|
||||
>
|
||||
<StageCaption eyebrow="Title" title={title}>
|
||||
<p>{beat.caption}</p>
|
||||
@@ -26,7 +27,7 @@ export const OpeningThesisScene = ({ scene, beat }: OpeningThesisSceneProps) =>
|
||||
data-opening-beat={beat.id}
|
||||
data-opening-focus={contributionBeat ? "contribution" : "title"}
|
||||
>
|
||||
<header className="opening-thesis__statement">
|
||||
<header className="opening-thesis__statement" data-visual-role="title-hero">
|
||||
<p>Product goal</p>
|
||||
<h2>An AI Agent for Workspace Workflows</h2>
|
||||
</header>
|
||||
|
||||
@@ -16,6 +16,10 @@ describe("ProblemLoopScene", () => {
|
||||
expect(scene).toHaveAttribute("data-problem-focus", "tool-loop");
|
||||
expect(scene).toHaveAttribute("data-support-state", "quiet");
|
||||
const transcript = screen.getByRole("log", { name: /one-off assistant transcript/i });
|
||||
expect(screen.getByRole("article", { name: /one-off chat and tool loop/i }))
|
||||
.toHaveAttribute("data-visual-role", "conversation");
|
||||
expect(screen.getByRole("group", { name: /durable workflow blueprint/i }))
|
||||
.toHaveAttribute("data-visual-role", "automation");
|
||||
expect(transcript).toHaveClass("assistant-operator-thread");
|
||||
expect(within(transcript).getByText("Can you finish this workspace task?")).toBeInTheDocument();
|
||||
const toolButtons = within(transcript).getAllByRole("button", { name: /fetchData|transformPayload|writeOutput/i });
|
||||
|
||||
@@ -68,6 +68,7 @@ export const ProblemLoopScene = ({ scene, beat }: ProblemLoopSceneProps) => {
|
||||
className="problem-chat-card"
|
||||
data-problem-active={automationBeat ? "false" : "true"}
|
||||
data-problem-role="tool-loop"
|
||||
data-visual-role="conversation"
|
||||
aria-label="one-off chat and tool loop"
|
||||
>
|
||||
<header className="problem-artifact-header">
|
||||
@@ -89,6 +90,7 @@ export const ProblemLoopScene = ({ scene, beat }: ProblemLoopSceneProps) => {
|
||||
aria-label="durable workflow blueprint"
|
||||
data-blueprint-active={automationBeat ? "true" : "false"}
|
||||
data-problem-role="workflow-blueprint"
|
||||
data-visual-role="automation"
|
||||
>
|
||||
<header className="problem-artifact-header">
|
||||
<span>Reusable</span>
|
||||
|
||||
Reference in New Issue
Block a user