123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- package pagination_test
- import (
- "testing"
- . "github.com/onsi/ginkgo"
- . "github.com/onsi/gomega"
- "github.com/vladimirok5959/golang-utils/utils/pagination"
- )
- var _ = Describe("pagination", func() {
- Context("Data", func() {
- Context("New", func() {
- It("generate correct data", func() {
- pd := pagination.New(0, 0, 2)
- Expect(pd.CurrentPage()).To(Equal(int64(1)))
- Expect(pd.MaxPages()).To(Equal(int64(1)))
- Expect(pd.ResultsCount()).To(Equal(int64(0)))
- Expect(pd.ResultsPerPage()).To(Equal(int64(2)))
- })
- })
- Context("CurrentPage", func() {
- It("returns correct value", func() {
- Expect(pagination.New(0, 0, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(1, 0, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(2, 0, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(3, 0, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(-1, 0, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(0, 2, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(1, 2, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(2, 2, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(3, 2, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(-1, 2, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(0, 4, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(1, 4, 2).CurrentPage()).To(Equal(int64(1)))
- Expect(pagination.New(2, 4, 2).CurrentPage()).To(Equal(int64(2)))
- Expect(pagination.New(3, 4, 2).CurrentPage()).To(Equal(int64(2)))
- Expect(pagination.New(-1, 4, 2).CurrentPage()).To(Equal(int64(1)))
- })
- })
- Context("MaxPages", func() {
- It("returns correct value", func() {
- Expect(pagination.New(0, 0, 2).MaxPages()).To(Equal(int64(1)))
- Expect(pagination.New(0, 1, 2).MaxPages()).To(Equal(int64(1)))
- Expect(pagination.New(0, 2, 2).MaxPages()).To(Equal(int64(1)))
- Expect(pagination.New(0, 3, 2).MaxPages()).To(Equal(int64(2)))
- Expect(pagination.New(0, 4, 2).MaxPages()).To(Equal(int64(2)))
- Expect(pagination.New(0, 5, 2).MaxPages()).To(Equal(int64(3)))
- Expect(pagination.New(0, 6, 2).MaxPages()).To(Equal(int64(3)))
- Expect(pagination.New(0, 7, 2).MaxPages()).To(Equal(int64(4)))
- Expect(pagination.New(0, 8, 2).MaxPages()).To(Equal(int64(4)))
- Expect(pagination.New(0, 9, 2).MaxPages()).To(Equal(int64(5)))
- Expect(pagination.New(0, 10, 2).MaxPages()).To(Equal(int64(5)))
- })
- })
- Context("ResultsCount", func() {
- It("returns correct value", func() {
- Expect(pagination.New(0, 1, 0).ResultsCount()).To(Equal(int64(1)))
- Expect(pagination.New(0, 2, 0).ResultsCount()).To(Equal(int64(2)))
- Expect(pagination.New(0, 3, 0).ResultsCount()).To(Equal(int64(3)))
- })
- })
- Context("ResultsPerPage", func() {
- It("returns correct value", func() {
- Expect(pagination.New(0, 0, 1).ResultsPerPage()).To(Equal(int64(1)))
- Expect(pagination.New(0, 0, 2).ResultsPerPage()).To(Equal(int64(2)))
- Expect(pagination.New(0, 0, 3).ResultsPerPage()).To(Equal(int64(3)))
- })
- })
- Context("Limit", func() {
- It("returns correct value", func() {
- limit, offset := pagination.New(1, 10, 2).Limit()
- Expect(limit).To(Equal(int64(2)))
- Expect(offset).To(Equal(int64(0)))
- limit, offset = pagination.New(2, 10, 2).Limit()
- Expect(limit).To(Equal(int64(2)))
- Expect(offset).To(Equal(int64(2)))
- limit, offset = pagination.New(3, 10, 2).Limit()
- Expect(limit).To(Equal(int64(2)))
- Expect(offset).To(Equal(int64(4)))
- limit, offset = pagination.New(4, 10, 2).Limit()
- Expect(limit).To(Equal(int64(2)))
- Expect(offset).To(Equal(int64(6)))
- limit, offset = pagination.New(5, 10, 2).Limit()
- Expect(limit).To(Equal(int64(2)))
- Expect(offset).To(Equal(int64(8)))
- })
- })
- })
- })
- func TestSuite(t *testing.T) {
- RegisterFailHandler(Fail)
- RunSpecs(t, "pagination")
- }
|