Skip to content

Commit 4cd4541

Browse files
committed
Fix test
1 parent f9dbff3 commit 4cd4541

File tree

3 files changed

+73
-5
lines changed

3 files changed

+73
-5
lines changed

models/issues/issue_update.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -148,10 +148,12 @@ func updateIssueNumbers(ctx context.Context, issue *Issue, doer *user_model.User
148148
colName := util.Iif(issue.IsPull, "num_closed_pulls", "num_closed_issues")
149149
dbSession := db.GetEngine(ctx)
150150
// update repository's issue closed number
151-
if cmtType == CommentTypeClose {
151+
if cmtType == CommentTypeClose || cmtType == CommentTypeMergePull {
152152
dbSession.Incr(colName)
153-
} else {
153+
} else if cmtType == CommentTypeReopen {
154154
dbSession.Decr(colName)
155+
} else {
156+
return nil, fmt.Errorf("invalid comment type: %d", cmtType)
155157
}
156158
if _, err := dbSession.ID(issue.RepoID).
157159
NoAutoCondition().NoAutoTime().

tests/integration/pull_create_test.go

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -309,11 +309,19 @@ func TestCreateAgitPullWithReadPermission(t *testing.T) {
309309
TreeFileContent: "temp content",
310310
})(t)
311311

312+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
313+
assert.Equal(t, 3, repo.NumPulls)
314+
assert.Equal(t, 3, repo.NumOpenPulls)
315+
312316
err := gitcmd.NewCommand("push", "origin", "HEAD:refs/for/master", "-o").
313317
AddDynamicArguments("topic=test-topic").
314318
WithDir(dstPath).
315319
Run(t.Context())
316320
assert.NoError(t, err)
321+
322+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
323+
assert.Equal(t, 4, repo.NumPulls)
324+
assert.Equal(t, 4, repo.NumOpenPulls)
317325
})
318326
}
319327

tests/integration/pull_merge_test.go

Lines changed: 61 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,15 +113,27 @@ func TestPullMerge(t *testing.T) {
113113
testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "")
114114
testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n")
115115

116+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
117+
assert.Equal(t, 3, repo.NumPulls)
118+
assert.Equal(t, 3, repo.NumOpenPulls)
119+
116120
resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "This is a pull title")
117121

122+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
123+
assert.Equal(t, 4, repo.NumPulls)
124+
assert.Equal(t, 4, repo.NumOpenPulls)
125+
118126
elem := strings.Split(test.RedirectURL(resp), "/")
119127
assert.Equal(t, "pulls", elem[3])
120128
testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{
121129
Style: repo_model.MergeStyleMerge,
122130
DeleteBranch: false,
123131
})
124132

133+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
134+
assert.Equal(t, 4, repo.NumPulls)
135+
assert.Equal(t, 3, repo.NumOpenPulls)
136+
125137
hookTasks, err = webhook.HookTasks(t.Context(), 1, 1)
126138
assert.NoError(t, err)
127139
assert.Len(t, hookTasks, hookTasksLenBefore+1)
@@ -138,15 +150,27 @@ func TestPullRebase(t *testing.T) {
138150
testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "")
139151
testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n")
140152

153+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
154+
assert.Equal(t, 3, repo.NumPulls)
155+
assert.Equal(t, 3, repo.NumOpenPulls)
156+
141157
resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "This is a pull title")
142158

159+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
160+
assert.Equal(t, 4, repo.NumPulls)
161+
assert.Equal(t, 4, repo.NumOpenPulls)
162+
143163
elem := strings.Split(test.RedirectURL(resp), "/")
144164
assert.Equal(t, "pulls", elem[3])
145165
testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{
146166
Style: repo_model.MergeStyleRebase,
147167
DeleteBranch: false,
148168
})
149169

170+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
171+
assert.Equal(t, 4, repo.NumPulls)
172+
assert.Equal(t, 3, repo.NumOpenPulls)
173+
150174
hookTasks, err = webhook.HookTasks(t.Context(), 1, 1)
151175
assert.NoError(t, err)
152176
assert.Len(t, hookTasks, hookTasksLenBefore+1)
@@ -163,15 +187,27 @@ func TestPullRebaseMerge(t *testing.T) {
163187
testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "")
164188
testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n")
165189

190+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
191+
assert.Equal(t, 3, repo.NumPulls)
192+
assert.Equal(t, 3, repo.NumOpenPulls)
193+
166194
resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "This is a pull title")
167195

196+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
197+
assert.Equal(t, 4, repo.NumPulls)
198+
assert.Equal(t, 4, repo.NumOpenPulls)
199+
168200
elem := strings.Split(test.RedirectURL(resp), "/")
169201
assert.Equal(t, "pulls", elem[3])
170202
testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{
171203
Style: repo_model.MergeStyleRebaseMerge,
172204
DeleteBranch: false,
173205
})
174206

207+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
208+
assert.Equal(t, 4, repo.NumPulls)
209+
assert.Equal(t, 3, repo.NumOpenPulls)
210+
175211
hookTasks, err = webhook.HookTasks(t.Context(), 1, 1)
176212
assert.NoError(t, err)
177213
assert.Len(t, hookTasks, hookTasksLenBefore+1)
@@ -215,6 +251,10 @@ func TestPullSquashWithHeadCommitID(t *testing.T) {
215251
testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited)\n")
216252
testEditFile(t, session, "user1", "repo1", "master", "README.md", "Hello, World (Edited!)\n")
217253

254+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
255+
assert.Equal(t, 3, repo.NumPulls)
256+
assert.Equal(t, 3, repo.NumOpenPulls)
257+
218258
resp := testPullCreate(t, session, "user1", "repo1", false, "master", "master", "This is a pull title")
219259

220260
repo1 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user1", Name: "repo1"})
@@ -224,14 +264,19 @@ func TestPullSquashWithHeadCommitID(t *testing.T) {
224264

225265
elem := strings.Split(test.RedirectURL(resp), "/")
226266
assert.Equal(t, "pulls", elem[3])
267+
268+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
269+
assert.Equal(t, 4, repo.NumPulls)
270+
assert.Equal(t, 4, repo.NumOpenPulls)
271+
227272
testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{
228273
Style: repo_model.MergeStyleSquash,
229274
DeleteBranch: false,
230275
HeadCommitID: headBranch.CommitID,
231276
})
232-
baseRepo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
233-
assert.Equal(t, 4, baseRepo.NumPulls)
234-
assert.Equal(t, 3, baseRepo.NumOpenPulls)
277+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
278+
assert.Equal(t, 4, repo.NumPulls)
279+
assert.Equal(t, 3, repo.NumOpenPulls)
235280

236281
hookTasks, err = webhook.HookTasks(t.Context(), 1, 1)
237282
assert.NoError(t, err)
@@ -245,15 +290,28 @@ func TestPullCleanUpAfterMerge(t *testing.T) {
245290
testRepoFork(t, session, "user2", "repo1", "user1", "repo1", "")
246291
testEditFileToNewBranch(t, session, "user1", "repo1", "master", "feature/test", "README.md", "Hello, World (Edited - TestPullCleanUpAfterMerge)\n")
247292

293+
repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{OwnerName: "user2", Name: "repo1"})
294+
assert.Equal(t, 3, repo.NumPulls)
295+
assert.Equal(t, 3, repo.NumOpenPulls)
296+
248297
resp := testPullCreate(t, session, "user1", "repo1", false, "master", "feature/test", "This is a pull title")
249298

250299
elem := strings.Split(test.RedirectURL(resp), "/")
251300
assert.Equal(t, "pulls", elem[3])
301+
302+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
303+
assert.Equal(t, 4, repo.NumPulls)
304+
assert.Equal(t, 4, repo.NumOpenPulls)
305+
252306
testPullMerge(t, session, elem[1], elem[2], elem[4], MergeOptions{
253307
Style: repo_model.MergeStyleMerge,
254308
DeleteBranch: false,
255309
})
256310

311+
repo = unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: repo.ID})
312+
assert.Equal(t, 4, repo.NumPulls)
313+
assert.Equal(t, 3, repo.NumOpenPulls)
314+
257315
// Check PR branch deletion
258316
resp = testPullCleanUp(t, session, elem[1], elem[2], elem[4])
259317
respJSON := struct {

0 commit comments

Comments
 (0)