mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-05-31 20:02:09 +00:00
feat(api): add sort parameter to list issues API (#7211)
Some checks failed
/ release (push) Waiting to run
testing / backend-checks (push) Has been skipped
testing / frontend-checks (push) Has been skipped
testing / test-unit (push) Has been skipped
testing / test-e2e (push) Has been skipped
testing / test-mysql (push) Has been skipped
testing / test-pgsql (push) Has been skipped
testing / test-sqlite (push) Has been skipped
testing / test-remote-cacher (redis) (push) Has been skipped
testing / test-remote-cacher (valkey) (push) Has been skipped
testing / test-remote-cacher (garnet) (push) Has been skipped
testing / test-remote-cacher (redict) (push) Has been skipped
testing / security-check (push) Has been skipped
Integration tests for the release process / release-simulation (push) Has been cancelled
Some checks failed
/ release (push) Waiting to run
testing / backend-checks (push) Has been skipped
testing / frontend-checks (push) Has been skipped
testing / test-unit (push) Has been skipped
testing / test-e2e (push) Has been skipped
testing / test-mysql (push) Has been skipped
testing / test-pgsql (push) Has been skipped
testing / test-sqlite (push) Has been skipped
testing / test-remote-cacher (redis) (push) Has been skipped
testing / test-remote-cacher (valkey) (push) Has been skipped
testing / test-remote-cacher (garnet) (push) Has been skipped
testing / test-remote-cacher (redict) (push) Has been skipped
testing / security-check (push) Has been skipped
Integration tests for the release process / release-simulation (push) Has been cancelled
- Add the `sort` parameter to the `/api/v1/{repo}/{owner}/issues` API endpoint. Default behavior is preserved. - Resolves forgejo/forgejo#4173 - Add (non-exhaustive) integration testing. Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/7211 Reviewed-by: Otto <otto@codeberg.org> Co-authored-by: Gusted <postmaster@gusted.xyz> Co-committed-by: Gusted <postmaster@gusted.xyz>
This commit is contained in:
parent
a624b6a8f4
commit
7d6d4f94ee
4 changed files with 97 additions and 1 deletions
|
@ -74,6 +74,50 @@ func TestAPIListIssues(t *testing.T) {
|
|||
if assert.Len(t, apiIssues, 1) {
|
||||
assert.EqualValues(t, 1, apiIssues[0].ID)
|
||||
}
|
||||
|
||||
t.Run("Sort", func(t *testing.T) {
|
||||
defer tests.PrintCurrentTest(t)()
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "sort": {"oldest"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
if assert.Len(t, apiIssues, 4) {
|
||||
assert.EqualValues(t, 1, apiIssues[0].ID)
|
||||
assert.EqualValues(t, 2, apiIssues[1].ID)
|
||||
assert.EqualValues(t, 3, apiIssues[2].ID)
|
||||
assert.EqualValues(t, 11, apiIssues[3].ID)
|
||||
}
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "sort": {"newest"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
if assert.Len(t, apiIssues, 4) {
|
||||
assert.EqualValues(t, 11, apiIssues[0].ID)
|
||||
assert.EqualValues(t, 3, apiIssues[1].ID)
|
||||
assert.EqualValues(t, 2, apiIssues[2].ID)
|
||||
assert.EqualValues(t, 1, apiIssues[3].ID)
|
||||
}
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "sort": {"recentupdate"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
if assert.Len(t, apiIssues, 4) {
|
||||
assert.EqualValues(t, 11, apiIssues[0].ID)
|
||||
assert.EqualValues(t, 1, apiIssues[1].ID)
|
||||
assert.EqualValues(t, 2, apiIssues[2].ID)
|
||||
assert.EqualValues(t, 3, apiIssues[3].ID)
|
||||
}
|
||||
|
||||
link.RawQuery = url.Values{"token": {token}, "sort": {"leastupdate"}}.Encode()
|
||||
resp = MakeRequest(t, NewRequest(t, "GET", link.String()), http.StatusOK)
|
||||
DecodeJSON(t, resp, &apiIssues)
|
||||
if assert.Len(t, apiIssues, 4) {
|
||||
assert.EqualValues(t, 3, apiIssues[0].ID)
|
||||
assert.EqualValues(t, 2, apiIssues[1].ID)
|
||||
assert.EqualValues(t, 1, apiIssues[2].ID)
|
||||
assert.EqualValues(t, 11, apiIssues[3].ID)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func TestAPIListIssuesPublicOnly(t *testing.T) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue