feat(FN-2934): merge fusion/fn-2934
- test(FN-2934): complete Step 2 — cover paused triage actions visibility - feat(FN-2934): complete Step 1 — show actions for paused triage tasks - feat(FN-2930): merge fusion/fn-2930 Fusion-Task-Id: FN-2934
This commit is contained in:
@@ -2147,7 +2147,7 @@ export function TaskDetailModal({
|
|||||||
)}
|
)}
|
||||||
|
|
||||||
{/* Actions dropdown — less common operations */}
|
{/* Actions dropdown — less common operations */}
|
||||||
{(task.column !== "triage" || task.status === "awaiting-approval" || canRetryTask) && (
|
{(task.column !== "triage" || task.status === "awaiting-approval" || canRetryTask || task.paused) && (
|
||||||
<div className="detail-actions-dropdown" ref={actionsMenuRef}>
|
<div className="detail-actions-dropdown" ref={actionsMenuRef}>
|
||||||
<button
|
<button
|
||||||
className="btn btn-sm"
|
className="btn btn-sm"
|
||||||
|
|||||||
@@ -3846,6 +3846,56 @@ describe("TaskDetailModal", () => {
|
|||||||
expect(screen.queryByText("Refine")).toBeNull();
|
expect(screen.queryByText("Refine")).toBeNull();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it("renders Actions dropdown for a paused triage task", () => {
|
||||||
|
render(
|
||||||
|
<TaskDetailModal
|
||||||
|
task={makeTask({ column: "triage", paused: true })}
|
||||||
|
onClose={noop}
|
||||||
|
onMoveTask={noopMove}
|
||||||
|
onDeleteTask={noopDelete}
|
||||||
|
onMergeTask={noopMerge}
|
||||||
|
onOpenDetail={noopOpenDetail}
|
||||||
|
addToast={noop}
|
||||||
|
/>,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(screen.getByRole("button", { name: /actions/i })).toBeTruthy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("renders Unpause button for a paused triage task", () => {
|
||||||
|
render(
|
||||||
|
<TaskDetailModal
|
||||||
|
task={makeTask({ column: "triage", paused: true })}
|
||||||
|
onClose={noop}
|
||||||
|
onMoveTask={noopMove}
|
||||||
|
onDeleteTask={noopDelete}
|
||||||
|
onMergeTask={noopMerge}
|
||||||
|
onOpenDetail={noopOpenDetail}
|
||||||
|
addToast={noop}
|
||||||
|
/>,
|
||||||
|
);
|
||||||
|
|
||||||
|
fireEvent.click(screen.getByRole("button", { name: /actions/i }));
|
||||||
|
|
||||||
|
expect(screen.getByRole("menuitem", { name: "Unpause" })).toBeTruthy();
|
||||||
|
});
|
||||||
|
|
||||||
|
it("does NOT render Actions dropdown for a non-paused, non-awaiting-approval, non-retryable triage task", () => {
|
||||||
|
render(
|
||||||
|
<TaskDetailModal
|
||||||
|
task={makeTask({ column: "triage", paused: false, status: "todo" })}
|
||||||
|
onClose={noop}
|
||||||
|
onMoveTask={noopMove}
|
||||||
|
onDeleteTask={noopDelete}
|
||||||
|
onMergeTask={noopMerge}
|
||||||
|
onOpenDetail={noopOpenDetail}
|
||||||
|
addToast={noop}
|
||||||
|
/>,
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(screen.queryByRole("button", { name: /actions/i })).toBeNull();
|
||||||
|
});
|
||||||
|
|
||||||
it("clicking Refine opens the refinement modal", () => {
|
it("clicking Refine opens the refinement modal", () => {
|
||||||
render(
|
render(
|
||||||
<TaskDetailModal
|
<TaskDetailModal
|
||||||
|
|||||||
Reference in New Issue
Block a user