feat(redesign): migrate Jobs Board presentation (P5-04a)

This commit is contained in:
cesnimda
2026-09-29 07:59:50 +02:00
parent 7127005e48
commit 42a696bc86
24 changed files with 446 additions and 109 deletions
+7 -6
View File
@@ -47,14 +47,15 @@ test("kanban columns use dark theme surfaces", async ({ page }) => {
await page.setViewportSize({ width: 1440, height: 900 });
await page.goto("/kanban");
await expect(page.getByText("Synthetic platform engineer")).toBeVisible();
const column = page.getByText("Not Applied", { exact: true }).locator("xpath=ancestor::*[contains(@class,'MuiPaper-root')][1]");
expect(await column.evaluate((element) => getComputedStyle(element).backgroundColor)).not.toBe("rgb(245, 242, 250)");
const column = page.getByRole("group", { name: "Not Applied column" });
const darkSurface = await column.evaluate((element) => getComputedStyle(element).backgroundColor);
if (updateAuditEvidence) await page.screenshot({ path: path.resolve("..", "docs", "audits", "evidence", "ux-003-kanban-dark-after.png"), fullPage: true });
const card = page.getByText("Synthetic platform engineer", { exact: true }).locator("xpath=ancestor::*[contains(@class,'MuiCard-root')][1]");
await card.focus();
const cardControl = card.locator('[role="button"]');
await cardControl.focus();
await page.keyboard.press("Space");
await expect(card).toHaveAttribute("aria-pressed", "true");
await expect(cardControl).toHaveAttribute("aria-pressed", "true");
const active = page.getByRole("group", { name: "Active column" });
await expect(active).toHaveAttribute("data-drop-state", "valid");
await expect(page.getByRole("group", { name: "Other column, not a drop target" })).toHaveAttribute("aria-disabled", "true");
@@ -86,11 +87,11 @@ test("kanban columns use dark theme surfaces", async ({ page }) => {
await page.reload();
await expect(page.locator("html")).toHaveAttribute("data-color-scheme", "light");
const lightColumn = page.getByText("Not Applied", { exact: true }).locator("xpath=ancestor::*[contains(@class,'MuiPaper-root')][1]");
expect(await lightColumn.evaluate((element) => getComputedStyle(element).backgroundColor)).toBe("rgb(245, 242, 250)");
expect(await lightColumn.evaluate((element) => getComputedStyle(element).backgroundColor)).not.toBe(darkSurface);
await page.setViewportSize({ width: 1440, height: 900 });
const lightCard = page.getByText("Synthetic platform engineer", { exact: true }).locator("xpath=ancestor::*[contains(@class,'MuiCard-root')][1]");
await lightCard.hover();
expect(await lightCard.evaluate((element) => getComputedStyle(element).transform)).not.toBe("none");
await expect(lightCard.getByRole("button", { name: "Quick status: Synthetic platform engineer" })).toBeVisible();
await lightCard.dragTo(page.getByRole("group", { name: "Active column" }));
await expect.poll(() => moveRequests).toBe(2);