fix(ui): unify Session navigation and restore uniform tab borders
This commit is contained in:
@@ -136,7 +136,7 @@ test("Pi management preserves the open session summary and the model activity ti
|
||||
const workArea = screen.getByTestId("conversation-column");
|
||||
const sessionNavigation = screen.getByRole("complementary", { name: "Session navigation" });
|
||||
const piManagement = within(sessionNavigation).getByRole("button", { name: "Pi configuration" });
|
||||
const newSession = within(sessionNavigation).getByRole("button", { name: "New session" });
|
||||
const newSession = within(sessionNavigation).getByRole("button", { name: "Session" });
|
||||
expect(workArea).toContainElement(dialog);
|
||||
expect(sessionNavigation).not.toContainElement(dialog);
|
||||
expect(piManagement).toHaveAttribute("aria-current", "page");
|
||||
@@ -147,7 +147,9 @@ test("Pi management preserves the open session summary and the model activity ti
|
||||
const preservedSummary = document.querySelector('[aria-label="Session summary"]');
|
||||
expect(preservedSummary).toHaveAttribute("aria-hidden", "true");
|
||||
expect(preservedSummary).toHaveTextContent("Attiva uno");
|
||||
await user.click(screen.getByRole("button", { name: "Return to session" }));
|
||||
// A cold document panel is not a running session. Reopen it from its row;
|
||||
// the unified Session action would prepare a new question instead.
|
||||
await user.click(screen.getByTestId("session-item-s1"));
|
||||
await waitFor(() => {
|
||||
expect(screen.getByRole("complementary", { name: "Session summary" })).toHaveTextContent("Domanda originale");
|
||||
});
|
||||
@@ -160,7 +162,7 @@ test("Pi management preserves the open session summary and the model activity ti
|
||||
await screen.findByRole("button", { name: "Show model activity" });
|
||||
act(() => useSessionStore.getState().setLastUserEntry({ kind: "input", text: "Preserved activity" }));
|
||||
await user.click(screen.getByRole("button", { name: "Pi configuration" }));
|
||||
await user.click(await screen.findByRole("button", { name: "Return to session" }));
|
||||
await user.click(await screen.findByRole("button", { name: "Session" }));
|
||||
await waitFor(() => expect(screen.queryByRole("heading", { name: "Pi management" })).not.toBeInTheDocument());
|
||||
await user.click(screen.getByRole("button", { name: "Show model activity" }));
|
||||
expect(await screen.findByRole("heading", { name: "Model activity" })).toBeVisible();
|
||||
@@ -190,8 +192,10 @@ test("administrators can explicitly switch to all sessions and see owners", asyn
|
||||
expect(mySessions).toHaveAttribute("tabindex", "0");
|
||||
expect(mySessions).toHaveAttribute("data-tab-state", "active");
|
||||
expect(mySessions).toHaveClass("bg-[oklch(var(--nav-active))]");
|
||||
expect(mySessions).toHaveClass("border-b-0");
|
||||
expect(allSessions).toHaveClass("border-b-0");
|
||||
expect(mySessions).toHaveClass("border", "px-[11px]", "py-[3px]");
|
||||
expect(allSessions).toHaveClass("border", "px-[11px]", "py-[3px]");
|
||||
expect(mySessions).not.toHaveClass("border-b-0", "border-b-2", "-mb-px");
|
||||
expect(tablist).not.toHaveClass("border-b");
|
||||
expect(allSessions).toHaveAttribute("aria-selected", "false");
|
||||
expect(allSessions).toHaveAttribute("aria-controls", "session-scope-panel");
|
||||
expect(allSessions).toHaveAttribute("tabindex", "-1");
|
||||
@@ -403,7 +407,7 @@ test("New session closes an open session detail panel", async () => {
|
||||
wrap();
|
||||
await userEvent.click(await screen.findByText("Attiva uno")); // cold session → panel opens
|
||||
await screen.findByText("Domanda originale");
|
||||
await userEvent.click(screen.getByRole("button", { name: /^new session$/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /^Session$/i }));
|
||||
await waitFor(() => expect(screen.queryByText("Domanda originale")).not.toBeInTheDocument());
|
||||
expect(screen.getByText(/type your question/i)).toBeInTheDocument();
|
||||
});
|
||||
@@ -822,7 +826,7 @@ test("starting a new question invalidates a pending Resume intent", async () =>
|
||||
await userEvent.click(await screen.findByText("Attiva uno"));
|
||||
await userEvent.click(await screen.findByRole("button", { name: /resume/i }));
|
||||
await resumeStarted.promise;
|
||||
await userEvent.click(screen.getByRole("button", { name: /^new session$/i }));
|
||||
await userEvent.click(screen.getByRole("button", { name: /^Session$/i }));
|
||||
expect(await screen.findByText(/type your question/i)).toBeInTheDocument();
|
||||
|
||||
resumeGate.resolve();
|
||||
|
||||
Reference in New Issue
Block a user