1
0
mirror of https://github.com/go-gitea/gitea.git synced 2024-10-26 07:55:34 +03:00

Compare commits

...

2 Commits

Author SHA1 Message Date
Lunny Xiao
03da9bf16b
Merge bd74d3555c into 7cf611d197 2024-10-25 21:12:20 +00:00
Lunny Xiao
bd74d3555c
Add test and fix problem for API routers 2024-10-25 14:11:59 -07:00
3 changed files with 8 additions and 1 deletions

View File

@ -89,6 +89,7 @@ func (m *Milestone) AfterLoad(session *xorm.Session) {
if m.DeadlineUnix == 0 {
return
}
// for legacy reasons, all years after 9000 are considered as no deadline
if m.DeadlineUnix.Year() > 9000 {
m.DeadlineUnix = 0
m.IsOverdue = false

View File

@ -260,7 +260,10 @@ func ToAPIMilestone(m *issues_model.Milestone) *api.Milestone {
if m.IsClosed {
apiMilestone.Closed = m.ClosedDateUnix.AsTimePtr()
}
if m.DeadlineUnix.Year() < 9999 {
// for legacy reasons, all years after 9000 are considered as no deadline
if m.DeadlineUnix.Year() > 9000 || m.DeadlineUnix == 0 {
apiMilestone.Deadline = nil
} else {
apiMilestone.Deadline = m.DeadlineUnix.AsTimePtr()
}
return apiMilestone

View File

@ -7,6 +7,7 @@ import (
"fmt"
"net/http"
"testing"
"time"
auth_model "code.gitea.io/gitea/models/auth"
issues_model "code.gitea.io/gitea/models/issues"
@ -59,6 +60,7 @@ func TestAPIIssuesMilestone(t *testing.T) {
DecodeJSON(t, resp, &apiMilestone)
assert.Equal(t, "wow", apiMilestone.Title)
assert.Equal(t, structs.StateClosed, apiMilestone.State)
assert.Equal(t, (*time.Time)(nil), apiMilestone.Deadline)
var apiMilestones []structs.Milestone
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones?state=%s", owner.Name, repo.Name, "all")).
@ -66,6 +68,7 @@ func TestAPIIssuesMilestone(t *testing.T) {
resp = MakeRequest(t, req, http.StatusOK)
DecodeJSON(t, resp, &apiMilestones)
assert.Len(t, apiMilestones, 4)
assert.Equal(t, (*time.Time)(nil), apiMilestones[0].Deadline)
req = NewRequest(t, "GET", fmt.Sprintf("/api/v1/repos/%s/%s/milestones/%s", owner.Name, repo.Name, apiMilestones[2].Title)).
AddTokenAuth(token)