Skip to content

Commit 45f2e97

Browse files
authored
Merge pull request #1287 from nsugiyam/fix/github-inline-comment-id
Fix Danger to find its own inline comment with an exact ID match
2 parents 630f2a4 + a5932f0 commit 45f2e97

File tree

2 files changed

+14
-15
lines changed

2 files changed

+14
-15
lines changed

source/platforms/github/GitHubAPI.ts

Lines changed: 9 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ export class GitHubAPI {
8989
this.d(`User ID: ${userID}`)
9090
this.d(`Looking at ${allComments.length} comments for ${dangerIDMessage}`)
9191
return allComments
92-
.filter(comment => comment.body.includes(dangerIDMessage)) // does it contain the right danger ID?
93-
.filter(comment => comment.user.id === userID) // Does it have the right user ID?
94-
.filter(comment => comment.body.includes("Generated by")) // Does it look like a danger message?
95-
.map(comment => comment.id) // only return IDs
92+
.filter((comment) => comment.body.includes(dangerIDMessage)) // does it contain the right danger ID?
93+
.filter((comment) => comment.user.id === userID) // Does it have the right user ID?
94+
.filter((comment) => comment.body.includes("Generated by")) // Does it look like a danger message?
95+
.map((comment) => comment.id) // only return IDs
9696
}
9797

9898
updateCommentWithID = async (id: string, comment: string): Promise<any> => {
@@ -289,9 +289,7 @@ export class GitHubAPI {
289289
page = getNextPageFromLinkHeader(response)
290290
} else {
291291
this.d(
292-
`getPullRequestCommits:: Failed to get response while traverse page ${page} with ${
293-
response.status
294-
}, bailing rest of pages if exists`
292+
`getPullRequestCommits:: Failed to get response while traverse page ${page} with ${response.status}, bailing rest of pages if exists`
295293
)
296294
page = -1
297295
}
@@ -317,13 +315,14 @@ export class GitHubAPI {
317315
const userID = await this.getUserID()
318316
const repo = this.repoMetadata.repoSlug
319317
const prID = this.repoMetadata.pullRequestID
318+
const dangerIDMessage = dangerIDToString(dangerID)
320319
return await this.getAllOfResource(`repos/${repo}/pulls/${prID}/comments`).then((v: GitHubIssueComment[]) => {
321320
return v
322321
.filter(Boolean)
323-
.map(i => {
324-
return { ...i, ownedByDanger: i.user.id == userID && i.body.includes(dangerID) }
322+
.map((i) => {
323+
return { ...i, ownedByDanger: i.user.id == userID && i.body.includes(dangerIDMessage) }
325324
})
326-
.filter(i => i.ownedByDanger)
325+
.filter((i) => i.ownedByDanger)
327326
})
328327
}
329328

source/platforms/github/_tests/_github_api.test.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ describe("API testing", () => {
100100

101101
it("getDangerCommentIDs ignores comments not marked as generated", async () => {
102102
api.getAllOfResource = await requestWithFixturedJSON("github_inline_comments_with_danger.json")
103-
api.getUserID = () => new Promise<number>(r => r(20229914))
103+
api.getUserID = () => new Promise<number>((r) => r(20229914))
104104

105105
const commentIDs = await api.getDangerCommentIDs("default")
106106

@@ -109,19 +109,19 @@ describe("API testing", () => {
109109

110110
it("getPullRequestInlineComment gets only comments for given DangerId", async () => {
111111
api.getAllOfResource = await requestWithFixturedJSON("github_inline_comments_with_danger.json")
112-
api.getUserID = () => new Promise<number>(r => r(20229914))
112+
api.getUserID = () => new Promise<number>((r) => r(20229914))
113113

114-
const comments = await api.getPullRequestInlineComments("danger-id-default")
114+
const comments = await api.getPullRequestInlineComments("default")
115115

116116
expect(comments.length).toEqual(1)
117117
expect(comments[0].ownedByDanger).toBeTruthy()
118118
})
119119

120120
it("getPullRequestInlineComment doesn't get comments as the DangerId is different", async () => {
121121
api.getAllOfResource = await requestWithFixturedJSON("github_inline_comments_with_danger.json")
122-
api.getUserID = () => new Promise<number>(r => r(123))
122+
api.getUserID = () => new Promise<number>((r) => r(123))
123123

124-
const comments = await api.getPullRequestInlineComments("danger-id-default")
124+
const comments = await api.getPullRequestInlineComments("default")
125125

126126
expect(comments.length).toEqual(0)
127127
})

0 commit comments

Comments
 (0)