diff --git a/ui/src/pages/IssueDetail.test.tsx b/ui/src/pages/IssueDetail.test.tsx index bd47590b302..b245e7d1272 100644 --- a/ui/src/pages/IssueDetail.test.tsx +++ b/ui/src/pages/IssueDetail.test.tsx @@ -1150,11 +1150,24 @@ describe("IssueDetail", () => { .find((element) => typeof element.className === "string" && element.className.includes("overflow-y-auto") - && element.textContent?.includes("Reason (required)"), + && element.textContent?.includes("Reason (optional)"), ); expect(bodyScrollRegion?.className).toContain("min-h-0"); expect(bodyScrollRegion?.className).toContain("overscroll-contain"); + const cancelApplyButton = Array.from(dialogContent!.querySelectorAll("button")) + .find((button) => button.textContent?.trim() === "Cancel 24 issues") as HTMLButtonElement | undefined; + expect(cancelApplyButton).toBeTruthy(); + expect(cancelApplyButton!.disabled).toBe(true); + + const confirmationCheckbox = dialogContent!.querySelector('input[type="checkbox"]') as HTMLInputElement | null; + expect(confirmationCheckbox).toBeTruthy(); + await act(async () => { + confirmationCheckbox!.click(); + }); + await flushReact(); + expect(cancelApplyButton!.disabled).toBe(false); + const footer = Array.from(dialogContent!.querySelectorAll("div")) .find((element) => typeof element.className === "string" diff --git a/ui/src/pages/IssueDetail.tsx b/ui/src/pages/IssueDetail.tsx index 45f13050d92..d909bf7ebcf 100644 --- a/ui/src/pages/IssueDetail.tsx +++ b/ui/src/pages/IssueDetail.tsx @@ -2702,7 +2702,7 @@ export function IssueDetail() { const canApplyTreeControl = Boolean(treeControlPreview) && !treeControlPreviewLoading - && (treeControlMode !== "cancel" || (treeControlReason.trim().length > 0 && treeControlCancelConfirmed)); + && (treeControlMode !== "cancel" || treeControlCancelConfirmed); const attachmentUploadButton = ( <>