@@ -3,11 +3,11 @@ import {describe, vi} from 'vitest'
3
3
4
4
import { evaluateSync , parse } from '../_synchronous-groq-js.mjs'
5
5
import { useQuery } from '../query/useQuery'
6
- import { usePaginatedList } from './usePaginatedList '
6
+ import { usePaginatedDocuments } from './usePaginatedDocuments '
7
7
8
8
vi . mock ( '../query/useQuery' )
9
9
10
- describe ( 'usePaginatedList ' , ( ) => {
10
+ describe ( 'usePaginatedDocuments ' , ( ) => {
11
11
beforeEach ( ( ) => {
12
12
const dataset = [
13
13
{
@@ -76,30 +76,30 @@ describe('usePaginatedList', () => {
76
76
77
77
it ( 'should respect custom page size' , ( ) => {
78
78
const customPageSize = 2
79
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize : customPageSize } ) )
79
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize : customPageSize } ) )
80
80
81
81
expect ( result . current . pageSize ) . toBe ( customPageSize )
82
82
expect ( result . current . data . length ) . toBeLessThanOrEqual ( customPageSize )
83
83
} )
84
84
85
85
it ( 'should filter by document type' , ( ) => {
86
- const { result} = renderHook ( ( ) => usePaginatedList ( { filter : '_type == "movie"' } ) )
86
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { filter : '_type == "movie"' } ) )
87
87
88
88
expect ( result . current . data . every ( ( doc ) => doc . _type === 'movie' ) ) . toBe ( true )
89
89
expect ( result . current . count ) . toBe ( 5 ) // 5 movies in the dataset
90
90
} )
91
91
92
92
// groq-js doesn't support search filters yet
93
93
it . skip ( 'should apply search filter' , ( ) => {
94
- const { result} = renderHook ( ( ) => usePaginatedList ( { search : 'inter' } ) )
94
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { search : 'inter' } ) )
95
95
96
96
// Should match "Interstellar"
97
97
expect ( result . current . data . some ( ( doc ) => doc . _id === 'movie3' ) ) . toBe ( true )
98
98
} )
99
99
100
100
it ( 'should apply ordering' , ( ) => {
101
101
const { result} = renderHook ( ( ) =>
102
- usePaginatedList ( {
102
+ usePaginatedDocuments ( {
103
103
filter : '_type == "movie"' ,
104
104
orderings : [ { field : 'releaseYear' , direction : 'desc' } ] ,
105
105
} ) ,
@@ -111,7 +111,7 @@ describe('usePaginatedList', () => {
111
111
112
112
it ( 'should calculate pagination values correctly' , ( ) => {
113
113
const pageSize = 2
114
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
114
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
115
115
116
116
expect ( result . current . currentPage ) . toBe ( 1 )
117
117
expect ( result . current . totalPages ) . toBe ( 3 ) // 6 items with page size 2
@@ -122,7 +122,7 @@ describe('usePaginatedList', () => {
122
122
123
123
it ( 'should navigate to next page' , ( ) => {
124
124
const pageSize = 2
125
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
125
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
126
126
127
127
expect ( result . current . currentPage ) . toBe ( 1 )
128
128
expect ( result . current . data . length ) . toBe ( pageSize )
@@ -138,7 +138,7 @@ describe('usePaginatedList', () => {
138
138
139
139
it ( 'should navigate to previous page' , ( ) => {
140
140
const pageSize = 2
141
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
141
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
142
142
143
143
// Go to page 2 first
144
144
act ( ( ) => {
@@ -158,7 +158,7 @@ describe('usePaginatedList', () => {
158
158
159
159
it ( 'should navigate to first page' , ( ) => {
160
160
const pageSize = 2
161
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
161
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
162
162
163
163
// Go to last page first
164
164
act ( ( ) => {
@@ -178,7 +178,7 @@ describe('usePaginatedList', () => {
178
178
179
179
it ( 'should navigate to last page' , ( ) => {
180
180
const pageSize = 2
181
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
181
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
182
182
183
183
act ( ( ) => {
184
184
result . current . lastPage ( )
@@ -190,7 +190,7 @@ describe('usePaginatedList', () => {
190
190
191
191
it ( 'should navigate to specific page' , ( ) => {
192
192
const pageSize = 2
193
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
193
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
194
194
195
195
act ( ( ) => {
196
196
result . current . goToPage ( 2 ) // Go to page 2
@@ -215,7 +215,7 @@ describe('usePaginatedList', () => {
215
215
216
216
it ( 'should set page availability flags correctly' , ( ) => {
217
217
const pageSize = 2
218
- const { result} = renderHook ( ( ) => usePaginatedList ( { pageSize} ) )
218
+ const { result} = renderHook ( ( ) => usePaginatedDocuments ( { pageSize} ) )
219
219
// On first page
220
220
expect ( result . current . hasFirstPage ) . toBe ( false )
221
221
expect ( result . current . hasPreviousPage ) . toBe ( false )
@@ -241,7 +241,7 @@ describe('usePaginatedList', () => {
241
241
242
242
// New test case for resetting the current page when filter changes
243
243
it ( 'should reset current page when filter changes' , ( ) => {
244
- const { result, rerender} = renderHook ( ( props ) => usePaginatedList ( props ) , {
244
+ const { result, rerender} = renderHook ( ( props ) => usePaginatedDocuments ( props ) , {
245
245
initialProps : { pageSize : 2 , filter : '' } ,
246
246
} )
247
247
// Initially, current page should be 1
0 commit comments