Browse Source

api: return empty list when page is empty (#2604) (#2614)

pull/2616/head
Alessandro Ros 2 years ago committed by GitHub
parent
commit
e9528c0917
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 6
      internal/core/api.go
  2. 6
      internal/core/api_test.go

6
internal/core/api.go

@ -36,12 +36,12 @@ func paginate2(itemsPtr interface{}, itemsPerPage int, page int) int {
} }
min := page * itemsPerPage min := page * itemsPerPage
if min >= itemsLen { if min > itemsLen {
min = itemsLen - 1 min = itemsLen
} }
max := (page + 1) * itemsPerPage max := (page + 1) * itemsPerPage
if max >= itemsLen { if max > itemsLen {
max = itemsLen max = itemsLen
} }

6
internal/core/api_test.go

@ -121,17 +121,17 @@ func TestPagination(t *testing.T) {
pageCount, err = paginate(&items, "3", "2") pageCount, err = paginate(&items, "3", "2")
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 2, pageCount) require.Equal(t, 2, pageCount)
require.Equal(t, []int{4}, items) require.Equal(t, []int{}, items)
items = make([]int, 6) items = make([]int, 6)
for i := 0; i < 6; i++ { for i := 0; i < 6; i++ {
items[i] = i items[i] = i
} }
pageCount, err = paginate(&items, "3", "3") pageCount, err = paginate(&items, "4", "1")
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 2, pageCount) require.Equal(t, 2, pageCount)
require.Equal(t, []int{5}, items) require.Equal(t, []int{4, 5}, items)
} }
func TestAPIConfigGlobalGet(t *testing.T) { func TestAPIConfigGlobalGet(t *testing.T) {

Loading…
Cancel
Save