fix: address administration layout and navigation issues #28 #29 #30 #31

This commit is contained in:
Codex
2026-09-12 18:16:52 +02:00
parent f52bf22e05
commit c7e5f295e6
25 changed files with 286 additions and 90 deletions
@@ -439,12 +439,12 @@ test("context panels stay inside the manager and the Tables grid sits in a sideb
await administration.click();
await expect(administration).toHaveAttribute("aria-expanded", "false");
await expect(adminNavigationRail.getByRole("button", { name: "Database management", exact: true })).toHaveCount(0);
await expect(adminNavigationRail.getByRole("button", { name: "Database", exact: true })).toHaveCount(0);
await administration.click();
await expect(administration).toHaveAttribute("aria-expanded", "true");
await adminNavigationRail
.getByRole("button", { name: "Database management", exact: true })
.getByRole("button", { name: "Database", exact: true })
.click();
await expectCurrentNavigation(page, "Database management");
@@ -795,7 +795,7 @@ test("Workspace and Pi management share the centered work-area panel without cov
await expectWorkAreaPanelGeometry(page, "Workspace management");
await expectWorkAreaPanelHeaderUsesPrimary(page, "Workspace management");
const piTrigger = page.getByRole("button", { name: "Pi management", exact: true });
const piTrigger = page.getByRole("button", { name: "Pi configuration", exact: true });
await piTrigger.click();
await expectCurrentNavigation(page, "Pi management");
await expect(
@@ -812,7 +812,7 @@ test("Workspace and Pi management share the centered work-area panel without cov
}
await page.setViewportSize({ width: 720, height: 800 });
await page.getByRole("button", { name: "Workspace management", exact: true }).click();
await page.getByRole("button", { name: "Workspace", exact: true }).click();
await expectCurrentNavigation(page, "Workspace management");
const compactWorkArea = page.getByTestId("conversation-column");
const compactPanel = compactWorkArea.getByRole("dialog", { name: "Workspace management" });
+5 -5
View File
@@ -112,7 +112,7 @@ LocalEvidenceArchive(root).initialize()
}).allTextContents()).map(text => text.trim())).toEqual([
"Database management", "Memory management", "Evidence management",
]);
await page.getByRole("button", { name: "Memory management", exact: true }).click();
await page.getByRole("button", { name: "Memory", exact: true }).click();
await page.screenshot({ path: "/private/tmp/thothii-m1-memory-opening.png", fullPage: true });
const memory = page.getByRole("main", { name: "Memory management" });
await expect(memory).toBeVisible();
@@ -157,9 +157,9 @@ finally: service.close()
THT_PRINCIPAL_ISSUER: "test", THT_PRINCIPAL_SUBJECT: "admin", THT_PRINCIPAL_IS_ADMIN: "true" });
expect(JSON.parse(recalled)).toEqual([]);
await expect(page.getByRole("button", { name: "New card", exact: true })).toBeEnabled();
if (!await page.getByRole("button", { name: "Evidence management", exact: true }).isVisible())
if (!await page.getByRole("button", { name: "Evidence", exact: true }).isVisible())
await page.getByRole("button", { name: "Administration", exact: true }).click();
await page.getByRole("button", { name: "Evidence management", exact: true }).click();
await page.getByRole("button", { name: "Evidence", exact: true }).click();
const evidence = page.getByRole("main", { name: "Evidence management" });
await expect(evidence).toBeVisible();
await evidence.getByRole("combobox", { name: /Workspace/ }).selectOption("fixture-workspace");
@@ -179,12 +179,12 @@ finally: service.close()
await page.screenshot({ path: "/private/tmp/thothii-acceptance-evidence-mobile.png", fullPage: true });
await page.getByRole("button", { name: "Navigation", exact: true }).click();
const navigation = page.getByRole("dialog", { name: "Navigation", exact: true });
await expect(navigation.getByRole("button", { name: "Memory management", exact: true })).toBeVisible();
await expect(navigation.getByRole("button", { name: "Memory", exact: true })).toBeVisible();
await page.keyboard.press("Escape");
await expect(navigation).toBeHidden();
await expect(page.getByRole("button", { name: "Navigation", exact: true })).toBeFocused();
await page.getByRole("button", { name: "Navigation", exact: true }).click();
await navigation.getByRole("button", { name: "Memory management", exact: true }).click();
await navigation.getByRole("button", { name: "Memory", exact: true }).click();
await expect(navigation).toBeHidden();
const mobileMemory = page.getByRole("main", { name: "Memory management" });
await expect(mobileMemory).toBeVisible();