diff --git a/actions/setup/js/add_copilot_reviewer.cjs b/actions/setup/js/add_copilot_reviewer.cjs index 0bbf4e37670..ee10538677f 100644 --- a/actions/setup/js/add_copilot_reviewer.cjs +++ b/actions/setup/js/add_copilot_reviewer.cjs @@ -35,8 +35,8 @@ async function main() { core.info(`Adding Copilot as reviewer to PR #${prNumber}`); + const { owner, repo } = context.repo; try { - const { owner, repo } = context.repo; await github.rest.pulls.requestReviewers({ owner, repo, diff --git a/actions/setup/js/add_copilot_reviewer.test.cjs b/actions/setup/js/add_copilot_reviewer.test.cjs index 9e61365fd24..7caaca68400 100644 --- a/actions/setup/js/add_copilot_reviewer.test.cjs +++ b/actions/setup/js/add_copilot_reviewer.test.cjs @@ -155,4 +155,29 @@ describe("add_copilot_reviewer", () => { reviewers: ["copilot-pull-request-reviewer[bot]"], }); }); + + it("should log initial info message when starting", async () => { + process.env.PR_NUMBER = "100"; + + await runScript(); + + expect(mockCore.info).toHaveBeenCalledWith("Adding Copilot as reviewer to PR #100"); + }); + + it("should truncate float PR_NUMBER to integer", async () => { + process.env.PR_NUMBER = "5.9"; + + await runScript(); + + expect(mockGithub.rest.pulls.requestReviewers).toHaveBeenCalledWith(expect.objectContaining({ pull_number: 5 })); + }); + + it("should include PR number in failure message on API error", async () => { + process.env.PR_NUMBER = "321"; + mockGithub.rest.pulls.requestReviewers.mockRejectedValueOnce(new Error("Rate limited")); + + await runScript(); + + expect(mockCore.setFailed).toHaveBeenCalledWith(expect.stringContaining("321")); + }); });