Files
fusion/packages/dashboard/app/utils/__tests__/stalePausedReviewCopy.test.ts
Fusion 273fc7018a feat(FN-4452): complete Step 4 — surface stale paused review in dashboard
Fusion-Task-Id: FN-4452
Fusion-Task-Lineage: 7d8b1c13-883b-4815-94ee-fdf18ad24e5f
2026-05-14 18:35:30 -07:00

45 lines
1.5 KiB
TypeScript

import { describe, expect, it } from "vitest";
import { getStalePausedReviewCopy, shouldShowStalePausedReviewBadge } from "../stalePausedReviewCopy";
describe("stalePausedReviewCopy", () => {
it("returns populated copy", () => {
const copy = getStalePausedReviewCopy({
code: "stale-paused-review",
reason: "reason",
observedAt: "2026-05-14T00:00:00.000Z",
ageMs: 86_400_000,
thresholdMs: 86_400_000,
});
expect(copy.badgeLabel).toBe("Paused stall");
expect(copy.headline.length).toBeGreaterThan(0);
expect(copy.description.length).toBeGreaterThan(0);
expect(copy.suggestedAction).toContain("unpause");
});
it.each([
{ column: "in-review", paused: false, stalePausedReview: { code: "stale-paused-review" } },
{ column: "todo", paused: true, stalePausedReview: { code: "stale-paused-review" } },
{ column: "in-review", paused: true, stalePausedReview: undefined },
] as const)("hides badge for non-canonical visibility cases", (task) => {
expect(shouldShowStalePausedReviewBadge(task as any)).toBe(false);
});
it("shows badge only for paused in-review task with signal", () => {
expect(
shouldShowStalePausedReviewBadge({
column: "in-review",
paused: true,
stalePausedReview: {
code: "stale-paused-review",
reason: "r",
observedAt: "2026-05-14T00:00:00.000Z",
ageMs: 86_400_000,
thresholdMs: 86_400_000,
},
}),
).toBe(true);
});
});