diff --git a/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.test.ts b/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.test.ts index 890aa4b8dbee3..7481c60687e9c 100644 --- a/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.test.ts +++ b/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.test.ts @@ -147,6 +147,14 @@ describe("decodeMergeRequestDetailJson", () => { ]); }); + it.each(["canceled", "canceling"])("maps a %s pipeline to cancelled", (status) => { + const detail = expectSuccess( + decodeMergeRequestDetailJson(detailJson({ head_pipeline: { status } })), + ); + + expect(detail.checks[0]?.status).toBe("cancelled"); + }); + it("reads an uncounted change set as its floor", () => { const detail = expectSuccess( decodeMergeRequestDetailJson(detailJson({ changes_count: "1000+" })), diff --git a/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.ts b/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.ts index af21a5ed9f77e..03ace309a2d4f 100644 --- a/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.ts +++ b/packages/source-control-gitlab/src/server/gitLabMergeRequestJson.ts @@ -252,7 +252,7 @@ function toPipelineStatus(value: string | null | undefined): PullRequestCheckSta case "failed": return "failure"; case "canceled": - case "cancelling": + case "canceling": return "cancelled"; case "skipped": return "skipped";