@@ -2,6 +2,7 @@ import assert from 'node:assert/strict';
22import { describe , it } from 'node:test' ;
33import {
44 applyFiltersToQueryString ,
5+ applyHaloPaginationRules ,
56 isMeaningfulFilterValue ,
67} from '../nodes/HaloPSA/filterParameters' ;
78
@@ -14,23 +15,38 @@ describe('isMeaningfulFilterValue', () => {
1415 assert . equal ( isMeaningfulFilterValue ( [ ] ) , false ) ;
1516 } ) ;
1617
17- it ( 'keeps meaningful values including false booleans' , ( ) => {
18- assert . equal ( isMeaningfulFilterValue ( false ) , true ) ;
18+ it ( 'keeps true booleans and omits false booleans' , ( ) => {
19+ assert . equal ( isMeaningfulFilterValue ( false ) , false ) ;
1920 assert . equal ( isMeaningfulFilterValue ( true ) , true ) ;
2021 assert . equal ( isMeaningfulFilterValue ( 40 ) , true ) ;
2122 assert . equal ( isMeaningfulFilterValue ( 'search text' ) , true ) ;
2223 assert . equal ( isMeaningfulFilterValue ( [ 1 , 2 ] ) , true ) ;
2324 } ) ;
2425} ) ;
2526
27+ describe ( 'applyHaloPaginationRules' , ( ) => {
28+ it ( 'sets pageinate when page_size or page_no is present' , ( ) => {
29+ assert . deepEqual ( applyHaloPaginationRules ( { page_size : 50 } ) , {
30+ page_size : 50 ,
31+ pageinate : true ,
32+ } ) ;
33+ assert . deepEqual ( applyHaloPaginationRules ( { page_no : 2 } ) , {
34+ page_no : 2 ,
35+ pageinate : true ,
36+ } ) ;
37+ } ) ;
38+ } ) ;
39+
2640describe ( 'applyFiltersToQueryString' , ( ) => {
27- it ( 'passes open_only and requesttype_id while omitting zero defaults' , ( ) => {
41+ it ( 'passes open_only and requesttype_id while omitting zero and false defaults' , ( ) => {
2842 const qs = applyFiltersToQueryString ( {
2943 open_only : true ,
3044 requesttype_id : 40 ,
3145 agent_id : 0 ,
3246 status_id : 0 ,
3347 search : '' ,
48+ pageinate : false ,
49+ default_columns : false ,
3450 } ) ;
3551
3652 assert . deepEqual ( qs , {
@@ -39,6 +55,17 @@ describe('applyFiltersToQueryString', () => {
3955 } ) ;
4056 } ) ;
4157
58+ it ( 'forces pageinate when page_size is set in filters' , ( ) => {
59+ const qs = applyFiltersToQueryString ( {
60+ page_size : 25 ,
61+ } ) ;
62+
63+ assert . deepEqual ( qs , {
64+ page_size : 25 ,
65+ pageinate : true ,
66+ } ) ;
67+ } ) ;
68+
4269 it ( 'joins multi-select arrays' , ( ) => {
4370 const qs = applyFiltersToQueryString ( {
4471 requesttype : [ 40 , 41 ] ,
0 commit comments