Merge pull request '[FEAT] Add label filters in organization issues dashboard' (#2944) from iminfinity/forgejo:add/label-filters into forgejo

Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/2944
Reviewed-by: Gusted <gusted@noreply.codeberg.org>
This commit is contained in:
Earl Warren 2024-04-04 16:58:12 +00:00
commit 4ccb8c8b1f
7 changed files with 169 additions and 59 deletions

View file

@ -222,3 +222,28 @@ func TestTeamSearch(t *testing.T) {
req.Header.Add("X-Csrf-Token", csrf)
session.MakeRequest(t, req, http.StatusNotFound)
}
func TestOrgDashboardLabels(t *testing.T) {
defer tests.PrepareTestEnv(t)()
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 4})
org := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 3, Type: user_model.UserTypeOrganization})
session := loginUser(t, user.Name)
req := NewRequestf(t, "GET", "/org/%s/issues?labels=3,4", org.Name)
resp := session.MakeRequest(t, req, http.StatusOK)
htmlDoc := NewHTMLParser(t, resp.Body)
labelFilterHref, ok := htmlDoc.Find(".list-header-sort a").Attr("href")
assert.True(t, ok)
assert.Contains(t, labelFilterHref, "labels=3%2c4")
// Exclude label
req = NewRequestf(t, "GET", "/org/%s/issues?labels=3,-4", org.Name)
resp = session.MakeRequest(t, req, http.StatusOK)
htmlDoc = NewHTMLParser(t, resp.Body)
labelFilterHref, ok = htmlDoc.Find(".list-header-sort a").Attr("href")
assert.True(t, ok)
assert.Contains(t, labelFilterHref, "labels=3%2c-4")
}