Skip to content

Commit 293482f

Browse files
committed
Add Tests for limit, before & since
1 parent ad7800e commit 293482f

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

integrations/api_issue_test.go

Lines changed: 24 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import (
99
"net/http"
1010
"net/url"
1111
"testing"
12+
"time"
1213

1314
"code.gitea.io/gitea/models"
1415
api "code.gitea.io/gitea/modules/structs"
@@ -152,17 +153,27 @@ func TestAPISearchIssues(t *testing.T) {
152153
resp := session.MakeRequest(t, req, http.StatusOK)
153154
var apiIssues []*api.Issue
154155
DecodeJSON(t, resp, &apiIssues)
155-
156156
assert.Len(t, apiIssues, 10)
157157

158-
query := url.Values{}
159-
query.Add("token", token)
158+
query := url.Values{"token": {token}}
160159
link.RawQuery = query.Encode()
161160
req = NewRequest(t, "GET", link.String())
162161
resp = session.MakeRequest(t, req, http.StatusOK)
163162
DecodeJSON(t, resp, &apiIssues)
164163
assert.Len(t, apiIssues, 10)
165164

165+
since := "2000-01-01T00%3A50%3A01%2B00%3A00" // 946687801
166+
before := time.Unix(999307200, 0).Format(time.RFC3339)
167+
query.Add("since", since)
168+
query.Add("before", before)
169+
link.RawQuery = query.Encode()
170+
req = NewRequest(t, "GET", link.String())
171+
resp = session.MakeRequest(t, req, http.StatusOK)
172+
DecodeJSON(t, resp, &apiIssues)
173+
assert.Len(t, apiIssues, 8)
174+
query.Del("since")
175+
query.Del("before")
176+
166177
query.Add("state", "closed")
167178
link.RawQuery = query.Encode()
168179
req = NewRequest(t, "GET", link.String())
@@ -175,14 +186,22 @@ func TestAPISearchIssues(t *testing.T) {
175186
req = NewRequest(t, "GET", link.String())
176187
resp = session.MakeRequest(t, req, http.StatusOK)
177188
DecodeJSON(t, resp, &apiIssues)
189+
assert.EqualValues(t, "12", resp.Header().Get("X-Total-Count"))
178190
assert.Len(t, apiIssues, 10) //there are more but 10 is page item limit
179191

180-
query.Add("page", "2")
192+
query.Add("limit", "20")
181193
link.RawQuery = query.Encode()
182194
req = NewRequest(t, "GET", link.String())
183195
resp = session.MakeRequest(t, req, http.StatusOK)
184196
DecodeJSON(t, resp, &apiIssues)
185-
assert.Len(t, apiIssues, 2)
197+
assert.Len(t, apiIssues, 12)
198+
199+
query = url.Values{"assigned": {"true"}, "state": {"all"}}
200+
link.RawQuery = query.Encode()
201+
req = NewRequest(t, "GET", link.String())
202+
resp = session.MakeRequest(t, req, http.StatusOK)
203+
DecodeJSON(t, resp, &apiIssues)
204+
assert.Len(t, apiIssues, 1)
186205
}
187206

188207
func TestAPISearchIssuesWithLabels(t *testing.T) {

routers/api/v1/repo/issue.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,8 @@ func SearchIssues(ctx *context.APIContext) {
176176
includedLabelNames = strings.Split(labels, ",")
177177
}
178178

179+
// this api is also used in UI,
180+
// so the default limit is set to fit UI needs
179181
limit := ctx.QueryInt("limit")
180182
if limit == 0 {
181183
limit = setting.UI.IssuePagingNum

0 commit comments

Comments
 (0)