summaryrefslogtreecommitdiffstats
path: root/integrations/api_issue_test.go
diff options
context:
space:
mode:
author6543 <6543@obermui.de>2020-01-12 07:35:11 +0100
committerLunny Xiao <xiaolunwen@gmail.com>2020-01-12 14:35:11 +0800
commit83f9359a7545601754e775a79273a326e833b0bc (patch)
treef3fedcbb47849b7d9835360f38160a61edae8827 /integrations/api_issue_test.go
parent86464de0c150e046b4590c02851c9c1111cd2176 (diff)
downloadgitea-83f9359a7545601754e775a79273a326e833b0bc.tar.gz
gitea-83f9359a7545601754e775a79273a326e833b0bc.zip
[BugFix] [API] ​/repos​/issues​/search (#9698)
* fix * fix options * add TEST Co-authored-by: Antoine GIRARD <sapk@users.noreply.github.com>
Diffstat (limited to 'integrations/api_issue_test.go')
-rw-r--r--integrations/api_issue_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/integrations/api_issue_test.go b/integrations/api_issue_test.go
index 382fe606bf..ce1c4b7d33 100644
--- a/integrations/api_issue_test.go
+++ b/integrations/api_issue_test.go
@@ -7,6 +7,7 @@ package integrations
import (
"fmt"
"net/http"
+ "net/url"
"testing"
"code.gitea.io/gitea/models"
@@ -120,3 +121,47 @@ func TestAPIEditIssue(t *testing.T) {
assert.Equal(t, body, issueAfter.Content)
assert.Equal(t, title, issueAfter.Title)
}
+
+func TestAPISearchIssue(t *testing.T) {
+ defer prepareTestEnv(t)()
+
+ session := loginUser(t, "user2")
+ token := getTokenForLoggedInUser(t, session)
+
+ link, _ := url.Parse("/api/v1/repos/issues/search")
+ req := NewRequest(t, "GET", link.String())
+ resp := session.MakeRequest(t, req, http.StatusOK)
+ var apiIssues []*api.Issue
+ DecodeJSON(t, resp, &apiIssues)
+
+ assert.Len(t, apiIssues, 8)
+
+ query := url.Values{}
+ query.Add("token", token)
+ link.RawQuery = query.Encode()
+ req = NewRequest(t, "GET", link.String())
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ DecodeJSON(t, resp, &apiIssues)
+ assert.Len(t, apiIssues, 8)
+
+ query.Add("state", "closed")
+ link.RawQuery = query.Encode()
+ req = NewRequest(t, "GET", link.String())
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ DecodeJSON(t, resp, &apiIssues)
+ assert.Len(t, apiIssues, 2)
+
+ query.Set("state", "all")
+ link.RawQuery = query.Encode()
+ req = NewRequest(t, "GET", link.String())
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ DecodeJSON(t, resp, &apiIssues)
+ assert.Len(t, apiIssues, 10) //there are more but 10 is page item limit
+
+ query.Add("page", "2")
+ link.RawQuery = query.Encode()
+ req = NewRequest(t, "GET", link.String())
+ resp = session.MakeRequest(t, req, http.StatusOK)
+ DecodeJSON(t, resp, &apiIssues)
+ assert.Len(t, apiIssues, 0)
+}