Skip to content

Commit 39a342e

Browse files
committed
feat(web): enhance lab notebook components with improved UI elements, new story phases, and overview metrics; refactor entry handling and add new functionalities
1 parent eb765de commit 39a342e

6 files changed

Lines changed: 1355 additions & 268 deletions

web/src/components/lab-notebook-entry-card.test.tsx

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,41 @@ describe("LabNotebookEntryCard", () => {
119119
expect(screen.getByText("refuted")).toBeInTheDocument();
120120
});
121121

122+
it("summarizes linked evidence on a hypothesis", () => {
123+
renderCard(
124+
<LabNotebookEntryCard
125+
entry={entry()}
126+
onOpenFile={() => {}}
127+
thread={{
128+
status: "supported",
129+
incoming: [
130+
{ id: "o1", stance: "supports" },
131+
{ id: "o2", stance: "supports" },
132+
{ id: "o3", stance: "refutes" },
133+
],
134+
}}
135+
/>,
136+
);
137+
expect(screen.getByText("2 supports")).toBeInTheDocument();
138+
expect(screen.getByText("1 challenge")).toBeInTheDocument();
139+
});
140+
141+
it("lets readers expand and collapse long entries", () => {
142+
renderCard(
143+
<LabNotebookEntryCard
144+
entry={entry({ body: "Detailed result. ".repeat(40) })}
145+
onOpenFile={() => {}}
146+
/>,
147+
);
148+
const toggle = screen.getByRole("button", { name: "Read full entry" });
149+
expect(toggle).toHaveAttribute("aria-expanded", "false");
150+
fireEvent.click(toggle);
151+
expect(screen.getByRole("button", { name: "Collapse entry" })).toHaveAttribute(
152+
"aria-expanded",
153+
"true",
154+
);
155+
});
156+
122157
it("dims a superseded card and links to its successor", () => {
123158
const onJumpToEntry = vi.fn();
124159
renderCard(

0 commit comments

Comments
 (0)