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

6
internal/core/api_test.go

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

Loading…
Cancel
Save