1
1
import { ClickActionHelper } from "@mendix/widget-plugin-grid/helpers/ClickActionHelper" ;
2
2
import { MultiSelectionStatus , useSelectionHelper } from "@mendix/widget-plugin-grid/selection" ;
3
3
import { SelectionCountStore } from "@mendix/widget-plugin-grid/selection/stores/SelectionCountStore" ;
4
- import { list , listWidget , objectItems , SelectionMultiValueBuilder } from "@mendix/widget-plugin-test-utils" ;
4
+ import {
5
+ list ,
6
+ ListValueBuilder ,
7
+ listWidget ,
8
+ objectItems ,
9
+ SelectionMultiValueBuilder
10
+ } from "@mendix/widget-plugin-test-utils" ;
5
11
import "@testing-library/jest-dom" ;
6
12
import { cleanup , getAllByRole , getByRole , queryByRole , render , screen } from "@testing-library/react" ;
7
13
import userEvent from "@testing-library/user-event" ;
@@ -19,7 +25,8 @@ import { GridBasicData } from "../../helpers/state/GridBasicData";
19
25
import { GridColumn } from "../../typings/GridColumn" ;
20
26
import { column , mockGridColumn , mockWidgetProps } from "../../utils/test-utils" ;
21
27
import { Widget , WidgetProps } from "../Widget" ;
22
-
28
+ import { RootGridStore } from "src/helpers/state/RootGridStore" ;
29
+ import { SelectAllProgressStore } from "src/features/multi-page-selection/SelectAllProgressStore" ;
23
30
// you can also pass the mock implementation
24
31
// to jest.fn as an argument
25
32
window . IntersectionObserver = jest . fn ( ( ) => ( {
@@ -61,6 +68,8 @@ function withCtx(
61
68
checkboxEventsController : widgetProps . checkboxEventsController ,
62
69
focusController : widgetProps . focusController ,
63
70
selectionCountStore : defaultSelectionCountStore as unknown as SelectionCountStore ,
71
+ selectAllProgressStore : { } as unknown as SelectAllProgressStore ,
72
+ rootStore : { } as unknown as RootGridStore ,
64
73
...contextOverrides
65
74
} ;
66
75
@@ -209,7 +218,15 @@ describe("Table", () => {
209
218
210
219
beforeEach ( ( ) => {
211
220
props = mockWidgetProps ( ) ;
212
- props . selectActionHelper = new SelectActionHelper ( "Single" , undefined , "checkbox" , false , 5 , "clear" ) ;
221
+ props . selectActionHelper = new SelectActionHelper (
222
+ "Single" ,
223
+ undefined ,
224
+ "checkbox" ,
225
+ false ,
226
+ 5 ,
227
+ "clear" ,
228
+ new ListValueBuilder ( ) . build ( )
229
+ ) ;
213
230
props . paging = true ;
214
231
props . data = objectItems ( 3 ) ;
215
232
} ) ;
@@ -308,7 +325,15 @@ describe("Table", () => {
308
325
const props = mockWidgetProps ( ) ;
309
326
props . data = objectItems ( 5 ) ;
310
327
props . paging = true ;
311
- props . selectActionHelper = new SelectActionHelper ( "Multi" , undefined , "checkbox" , false , 5 , "clear" ) ;
328
+ props . selectActionHelper = new SelectActionHelper (
329
+ "Multi" ,
330
+ undefined ,
331
+ "checkbox" ,
332
+ false ,
333
+ 5 ,
334
+ "clear" ,
335
+ new ListValueBuilder ( ) . build ( )
336
+ ) ;
312
337
renderWithRootContext ( props ) ;
313
338
314
339
const colheader = screen . getAllByRole ( "columnheader" ) [ 0 ] ;
@@ -320,7 +345,15 @@ describe("Table", () => {
320
345
const props = mockWidgetProps ( ) ;
321
346
props . data = objectItems ( 5 ) ;
322
347
props . paging = true ;
323
- props . selectActionHelper = new SelectActionHelper ( "Multi" , undefined , "checkbox" , true , 5 , "clear" ) ;
348
+ props . selectActionHelper = new SelectActionHelper (
349
+ "Multi" ,
350
+ undefined ,
351
+ "checkbox" ,
352
+ true ,
353
+ 5 ,
354
+ "clear" ,
355
+ new ListValueBuilder ( ) . build ( )
356
+ ) ;
324
357
325
358
const renderWithStatus = ( status : MultiSelectionStatus ) : ReturnType < typeof render > => {
326
359
return renderWithRootContext ( props , {
@@ -342,7 +375,15 @@ describe("Table", () => {
342
375
343
376
it ( "not render header checkbox if method is rowClick" , ( ) => {
344
377
const props = mockWidgetProps ( ) ;
345
- props . selectActionHelper = new SelectActionHelper ( "Multi" , undefined , "rowClick" , false , 5 , "clear" ) ;
378
+ props . selectActionHelper = new SelectActionHelper (
379
+ "Multi" ,
380
+ undefined ,
381
+ "rowClick" ,
382
+ false ,
383
+ 5 ,
384
+ "clear" ,
385
+ new ListValueBuilder ( ) . build ( )
386
+ ) ;
346
387
347
388
renderWithRootContext ( props ) ;
348
389
@@ -352,7 +393,15 @@ describe("Table", () => {
352
393
353
394
it ( "call onSelectAll when header checkbox is clicked" , async ( ) => {
354
395
const props = mockWidgetProps ( ) ;
355
- props . selectActionHelper = new SelectActionHelper ( "Multi" , undefined , "checkbox" , true , 5 , "clear" ) ;
396
+ props . selectActionHelper = new SelectActionHelper (
397
+ "Multi" ,
398
+ undefined ,
399
+ "checkbox" ,
400
+ true ,
401
+ 5 ,
402
+ "clear" ,
403
+ new ListValueBuilder ( ) . build ( )
404
+ ) ;
356
405
props . selectActionHelper . onSelectAll = jest . fn ( ) ;
357
406
358
407
renderWithRootContext ( props , {
@@ -374,7 +423,15 @@ describe("Table", () => {
374
423
375
424
beforeEach ( ( ) => {
376
425
props = mockWidgetProps ( ) ;
377
- props . selectActionHelper = new SelectActionHelper ( "Single" , undefined , "rowClick" , true , 5 , "clear" ) ;
426
+ props . selectActionHelper = new SelectActionHelper (
427
+ "Single" ,
428
+ undefined ,
429
+ "rowClick" ,
430
+ true ,
431
+ 5 ,
432
+ "clear" ,
433
+ new ListValueBuilder ( ) . build ( )
434
+ ) ;
378
435
props . paging = true ;
379
436
props . data = objectItems ( 3 ) ;
380
437
} ) ;
@@ -480,7 +537,10 @@ describe("Table", () => {
480
537
itemSelectionMethod : selectionMethod ,
481
538
itemSelectionMode : "clear" ,
482
539
showSelectAllToggle : false ,
483
- pageSize : 5
540
+ pageSize : 5 ,
541
+ datasource : ds ,
542
+ selectAllPagesEnabled : false ,
543
+ selectAllPagesBufferSize : 500
484
544
} ,
485
545
helper
486
546
) ;
@@ -502,7 +562,9 @@ describe("Table", () => {
502
562
cellEventsController,
503
563
checkboxEventsController,
504
564
focusController : props . focusController ,
505
- selectionCountStore : { } as unknown as SelectionCountStore
565
+ selectionCountStore : { } as unknown as SelectionCountStore ,
566
+ selectAllProgressStore : { } as unknown as SelectAllProgressStore ,
567
+ rootStore : { } as unknown as RootGridStore
506
568
} ;
507
569
508
570
return (
0 commit comments