mirror of
https://github.com/navidrome/navidrome.git
synced 2026-10-14 13:27:09 +02:00
Refactor
This commit is contained in:
parent
09e52eba87
commit
ea231fe265
8 changed files with 142 additions and 90 deletions
|
|
@ -6,6 +6,7 @@ import (
|
|||
"net/http/httptest"
|
||||
"net/url"
|
||||
|
||||
. "github.com/navidrome/navidrome/utils/gg"
|
||||
. "github.com/onsi/ginkgo/v2"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
|
@ -34,44 +35,44 @@ var _ = Describe("BuildPaginationLinksAndMeta", func() {
|
|||
It("returns correct pagination links and meta", func() {
|
||||
links, meta := buildPaginationLinksAndMeta(totalItems, params, resourceName)
|
||||
|
||||
testLinkEquality(links.First, p("api/resource?page[offset]=0&page[limit]=10"))
|
||||
testLinkEquality(links.Last, p("api/resource?page[offset]=140&page[limit]=10"))
|
||||
testLinkEquality(links.Next, p("api/resource?page[offset]=10&page[limit]=10"))
|
||||
testLinkEquality(links.First, P("api/resource?page[offset]=0&page[limit]=10"))
|
||||
testLinkEquality(links.Last, P("api/resource?page[offset]=140&page[limit]=10"))
|
||||
testLinkEquality(links.Next, P("api/resource?page[offset]=10&page[limit]=10"))
|
||||
Expect(links.Prev).To(BeNil())
|
||||
|
||||
Expect(meta.CurrentPage).To(Equal(p(int32(1))))
|
||||
Expect(meta.TotalItems).To(Equal(p(int32(150))))
|
||||
Expect(meta.TotalPages).To(Equal(p(int32(15))))
|
||||
Expect(meta.CurrentPage).To(Equal(P(int32(1))))
|
||||
Expect(meta.TotalItems).To(Equal(P(int32(150))))
|
||||
Expect(meta.TotalPages).To(Equal(P(int32(15))))
|
||||
})
|
||||
})
|
||||
|
||||
Context("with custom page limit and offset", func() {
|
||||
BeforeEach(func() {
|
||||
params = GetTracksParams{
|
||||
PageLimit: p((PageLimit)(20)),
|
||||
PageOffset: p((PageOffset)(40)),
|
||||
PageLimit: P((PageLimit)(20)),
|
||||
PageOffset: P((PageOffset)(40)),
|
||||
}
|
||||
})
|
||||
|
||||
It("returns correct pagination links and meta", func() {
|
||||
links, meta := buildPaginationLinksAndMeta(totalItems, params, resourceName)
|
||||
|
||||
testLinkEquality(links.First, p("api/resource?page[offset]=0&page[limit]=20"))
|
||||
testLinkEquality(links.Last, p("api/resource?page[offset]=140&page[limit]=20"))
|
||||
testLinkEquality(links.Next, p("api/resource?page[offset]=60&page[limit]=20"))
|
||||
testLinkEquality(links.Prev, p("api/resource?page[offset]=20&page[limit]=20"))
|
||||
testLinkEquality(links.First, P("api/resource?page[offset]=0&page[limit]=20"))
|
||||
testLinkEquality(links.Last, P("api/resource?page[offset]=140&page[limit]=20"))
|
||||
testLinkEquality(links.Next, P("api/resource?page[offset]=60&page[limit]=20"))
|
||||
testLinkEquality(links.Prev, P("api/resource?page[offset]=20&page[limit]=20"))
|
||||
|
||||
Expect(meta.CurrentPage).To(Equal(p(int32(3))))
|
||||
Expect(meta.TotalItems).To(Equal(p(int32(150))))
|
||||
Expect(meta.TotalPages).To(Equal(p(int32(8))))
|
||||
Expect(meta.CurrentPage).To(Equal(P(int32(3))))
|
||||
Expect(meta.TotalItems).To(Equal(P(int32(150))))
|
||||
Expect(meta.TotalPages).To(Equal(P(int32(8))))
|
||||
})
|
||||
})
|
||||
|
||||
Context("with various filter params", func() {
|
||||
BeforeEach(func() {
|
||||
params = GetTracksParams{
|
||||
PageLimit: p((PageLimit)(20)),
|
||||
PageOffset: p((PageOffset)(40)),
|
||||
PageLimit: P((PageLimit)(20)),
|
||||
PageOffset: P((PageOffset)(40)),
|
||||
FilterEquals: &[]string{"property1:value1", "property2:value2"},
|
||||
FilterContains: &[]string{"property3:value3"},
|
||||
FilterLessThan: &[]string{"property4:value4"},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue