From d53bf337dcd0d949ae8d5e14dff15b6924b6e2d9 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Thu, 19 Dec 2024 16:28:59 -0800 Subject: [PATCH 1/3] demilestone should not include milestone --- services/issue/milestone.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/services/issue/milestone.go b/services/issue/milestone.go index ff645744a7ddc..beb6f131a908a 100644 --- a/services/issue/milestone.go +++ b/services/issue/milestone.go @@ -59,6 +59,10 @@ func changeMilestoneAssign(ctx context.Context, doer *user_model.User, issue *is } } + if issue.MilestoneID == 0 { + issue.Milestone = nil + } + return nil } From cdd47c736bfd13d25b37b782794f440721ff0150 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 24 Dec 2024 21:11:01 -0800 Subject: [PATCH 2/3] add test for change milestone --- services/issue/milestone_test.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/services/issue/milestone_test.go b/services/issue/milestone_test.go index 42b910166f5a6..8a6a4af3c621f 100644 --- a/services/issue/milestone_test.go +++ b/services/issue/milestone_test.go @@ -23,6 +23,7 @@ func TestChangeMilestoneAssign(t *testing.T) { oldMilestoneID := issue.MilestoneID issue.MilestoneID = 2 + assert.NoError(t, issue.LoadMilestone(db.DefaultContext)) assert.NoError(t, ChangeMilestoneAssign(db.DefaultContext, issue, doer, oldMilestoneID)) unittest.AssertExistsAndLoadBean(t, &issues_model.Comment{ IssueID: issue.ID, @@ -31,4 +32,10 @@ func TestChangeMilestoneAssign(t *testing.T) { OldMilestoneID: oldMilestoneID, }) unittest.CheckConsistencyFor(t, &issues_model.Milestone{}, &issues_model.Issue{}) + assert.NotNil(t, issue.Milestone) + + issue.MilestoneID = 0 + assert.NoError(t, ChangeMilestoneAssign(db.DefaultContext, issue, doer, oldMilestoneID)) + assert.EqualValues(t, 0, issue.MilestoneID) + assert.Nil(t, issue.Milestone) } From 9181fd27b0393f32f5d24e2a777a14707c67cc56 Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Tue, 24 Dec 2024 21:12:10 -0800 Subject: [PATCH 3/3] Fix test --- services/issue/milestone_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/services/issue/milestone_test.go b/services/issue/milestone_test.go index 8a6a4af3c621f..bf5abc85b7027 100644 --- a/services/issue/milestone_test.go +++ b/services/issue/milestone_test.go @@ -34,6 +34,7 @@ func TestChangeMilestoneAssign(t *testing.T) { unittest.CheckConsistencyFor(t, &issues_model.Milestone{}, &issues_model.Issue{}) assert.NotNil(t, issue.Milestone) + oldMilestoneID = issue.MilestoneID issue.MilestoneID = 0 assert.NoError(t, ChangeMilestoneAssign(db.DefaultContext, issue, doer, oldMilestoneID)) assert.EqualValues(t, 0, issue.MilestoneID)