Files
fusion/packages/dashboard/app/components/__tests__/MergeDetails.test.tsx
Fusion 92721f41f5 test(FN-4647): complete Step 5 — add done-task diff labeling regressions
Fusion-Task-Id: FN-4647
Fusion-Task-Lineage: c86304d4-ff28-478a-a254-8ddaeca53447
2026-05-15 12:07:52 -07:00

54 lines
1.8 KiB
TypeScript

import { describe, it, expect } from "vitest";
import { render, screen } from "@testing-library/react";
import { MergeDetails } from "../MergeDetails";
const makeTask = (overrides: any = {}) => ({
id: "FN-001",
description: "Task",
column: "done",
dependencies: [],
steps: [],
currentStep: 0,
log: [],
createdAt: "2026-01-01T00:00:00.000Z",
updatedAt: "2026-01-01T00:00:00.000Z",
...overrides,
});
describe("MergeDetails", () => {
it("renders nothing when task is not done", () => {
const { container } = render(<MergeDetails task={makeTask({ column: "in-review", mergeDetails: { commitSha: "abc1234" } })} />);
expect(container.firstChild).toBeNull();
});
it("renders merge metadata for done task", () => {
render(
<MergeDetails
task={makeTask({
mergeDetails: {
commitSha: "abcdef123456",
filesChanged: 5,
insertions: 10,
deletions: 2,
mergedAt: "2026-01-01T01:00:00.000Z",
prNumber: 42,
mergeCommitMessage: "feat(FN-001): merge fusion/fn-001",
mergeConfirmed: true,
},
})}
/>,
);
expect(screen.getByText("Merge Details")).toBeTruthy();
expect(screen.getByText("abcdef1")).toBeTruthy();
expect(screen.getByText("Files in merge commit")).toBeTruthy();
expect(screen.getByText("Merge-commit insertions / deletions")).toBeTruthy();
expect(screen.getByText("5")).toBeTruthy();
expect(screen.getByText("+10 / -2")).toBeTruthy();
expect(screen.getAllByTitle("Final commit shortstat; for the full landed diff across all task commits, see the Changes tab.")).toHaveLength(2);
expect(screen.getByText("#42")).toBeTruthy();
expect(screen.getByText("feat(FN-001): merge fusion/fn-001")).toBeTruthy();
expect(screen.getByText("Merged successfully")).toBeTruthy();
});
});