From 1561eb61298b3a4982e5a387b630236ad55315d3 Mon Sep 17 00:00:00 2001 From: Shawn Neal Date: Thu, 19 Jan 2023 22:16:11 -0800 Subject: [PATCH] Add total results and pages to pager --- client/pager.go | 5 +++++ client/pager_test.go | 3 +++ 2 files changed, 8 insertions(+) diff --git a/client/pager.go b/client/pager.go index 575f58a5..ef717120 100644 --- a/client/pager.go +++ b/client/pager.go @@ -13,6 +13,9 @@ type Pager struct { NextPageURL string PreviousPageURL string + TotalResults int + TotalPages int + nextPageQSReader *path.QuerystringReader previousPageQSReader *path.QuerystringReader } @@ -21,6 +24,8 @@ func NewPager(pagination resource.Pagination) *Pager { return &Pager{ NextPageURL: pagination.Next.Href, PreviousPageURL: pagination.Previous.Href, + TotalResults: pagination.TotalResults, + TotalPages: pagination.TotalPages, } } diff --git a/client/pager_test.go b/client/pager_test.go index 522bcf42..a710fbdf 100644 --- a/client/pager_test.go +++ b/client/pager_test.go @@ -61,6 +61,9 @@ func TestPager(t *testing.T) { // First page pager := NewPager(paginationPage1) + require.Equal(t, 120, pager.TotalResults) + require.Equal(t, 3, pager.TotalPages) + require.True(t, pager.HasNextPage()) require.False(t, pager.HasPreviousPage()) pager.NextPage(listOpts)