@@ -12,6 +12,7 @@ describe("useCursorPagination", () => {
1212 expect ( result . current . cursor ) . toBeNull ( ) ;
1313 expect ( result . current . cursorStack ) . toEqual ( [ ] ) ;
1414 expect ( result . current . paginationDirection ) . toBe ( "forward" ) ;
15+ expect ( result . current . pageSize ) . toBe ( 20 ) ;
1516 } ) ;
1617
1718 it ( "returns correct initial paginationVariables" , ( ) => {
@@ -183,6 +184,24 @@ describe("useCursorPagination", () => {
183184 } ) ;
184185 } ) ;
185186
187+ // ---------------------------------------------------------------------------
188+ // setPageSize
189+ // ---------------------------------------------------------------------------
190+ describe ( "setPageSize" , ( ) => {
191+ it ( "changes page size and resets to first page" , ( ) => {
192+ const { result } = renderHook ( ( ) => useCursorPagination ( 20 ) ) ;
193+
194+ act ( ( ) => result . current . goToNextPage ( { endCursor : "c1" } ) ) ;
195+ act ( ( ) => result . current . setPageSize ( 50 ) ) ;
196+
197+ expect ( result . current . pageSize ) . toBe ( 50 ) ;
198+ expect ( result . current . cursor ) . toBeNull ( ) ;
199+ expect ( result . current . cursorStack ) . toEqual ( [ ] ) ;
200+ expect ( result . current . paginationDirection ) . toBe ( "forward" ) ;
201+ expect ( result . current . paginationVariables ) . toEqual ( { first : 50 } ) ;
202+ } ) ;
203+ } ) ;
204+
186205 // ---------------------------------------------------------------------------
187206 // paginationVariables shape
188207 // ---------------------------------------------------------------------------
@@ -280,5 +299,11 @@ describe("useCursorPagination", () => {
280299 act ( ( ) => result . current . goToLastPage ( ) ) ;
281300 expect ( result . current . resetCount ) . toBe ( 0 ) ;
282301 } ) ;
302+
303+ it ( "does not increment on setPageSize" , ( ) => {
304+ const { result } = renderHook ( ( ) => useCursorPagination ( 20 ) ) ;
305+ act ( ( ) => result . current . setPageSize ( 50 ) ) ;
306+ expect ( result . current . resetCount ) . toBe ( 0 ) ;
307+ } ) ;
283308 } ) ;
284309} ) ;
0 commit comments