Skip to content

Commit 38cd47a

Browse files
committed
test(datagrid-web): fix tests with new SelectActionHelper arguments
1 parent 66f0943 commit 38cd47a

File tree

1 file changed

+72
-10
lines changed
  • packages/pluggableWidgets/datagrid-web/src/components/__tests__

1 file changed

+72
-10
lines changed

packages/pluggableWidgets/datagrid-web/src/components/__tests__/Table.spec.tsx

Lines changed: 72 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
11
import { ClickActionHelper } from "@mendix/widget-plugin-grid/helpers/ClickActionHelper";
22
import { MultiSelectionStatus, useSelectionHelper } from "@mendix/widget-plugin-grid/selection";
33
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";
511
import "@testing-library/jest-dom";
612
import { cleanup, getAllByRole, getByRole, queryByRole, render, screen } from "@testing-library/react";
713
import userEvent from "@testing-library/user-event";
@@ -19,7 +25,8 @@ import { GridBasicData } from "../../helpers/state/GridBasicData";
1925
import { GridColumn } from "../../typings/GridColumn";
2026
import { column, mockGridColumn, mockWidgetProps } from "../../utils/test-utils";
2127
import { Widget, WidgetProps } from "../Widget";
22-
28+
import { RootGridStore } from "src/helpers/state/RootGridStore";
29+
import { SelectAllProgressStore } from "src/features/multi-page-selection/SelectAllProgressStore";
2330
// you can also pass the mock implementation
2431
// to jest.fn as an argument
2532
window.IntersectionObserver = jest.fn(() => ({
@@ -61,6 +68,8 @@ function withCtx(
6168
checkboxEventsController: widgetProps.checkboxEventsController,
6269
focusController: widgetProps.focusController,
6370
selectionCountStore: defaultSelectionCountStore as unknown as SelectionCountStore,
71+
selectAllProgressStore: {} as unknown as SelectAllProgressStore,
72+
rootStore: {} as unknown as RootGridStore,
6473
...contextOverrides
6574
};
6675

@@ -209,7 +218,15 @@ describe("Table", () => {
209218

210219
beforeEach(() => {
211220
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+
);
213230
props.paging = true;
214231
props.data = objectItems(3);
215232
});
@@ -308,7 +325,15 @@ describe("Table", () => {
308325
const props = mockWidgetProps();
309326
props.data = objectItems(5);
310327
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+
);
312337
renderWithRootContext(props);
313338

314339
const colheader = screen.getAllByRole("columnheader")[0];
@@ -320,7 +345,15 @@ describe("Table", () => {
320345
const props = mockWidgetProps();
321346
props.data = objectItems(5);
322347
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+
);
324357

325358
const renderWithStatus = (status: MultiSelectionStatus): ReturnType<typeof render> => {
326359
return renderWithRootContext(props, {
@@ -342,7 +375,15 @@ describe("Table", () => {
342375

343376
it("not render header checkbox if method is rowClick", () => {
344377
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+
);
346387

347388
renderWithRootContext(props);
348389

@@ -352,7 +393,15 @@ describe("Table", () => {
352393

353394
it("call onSelectAll when header checkbox is clicked", async () => {
354395
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+
);
356405
props.selectActionHelper.onSelectAll = jest.fn();
357406

358407
renderWithRootContext(props, {
@@ -374,7 +423,15 @@ describe("Table", () => {
374423

375424
beforeEach(() => {
376425
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+
);
378435
props.paging = true;
379436
props.data = objectItems(3);
380437
});
@@ -480,7 +537,10 @@ describe("Table", () => {
480537
itemSelectionMethod: selectionMethod,
481538
itemSelectionMode: "clear",
482539
showSelectAllToggle: false,
483-
pageSize: 5
540+
pageSize: 5,
541+
datasource: ds,
542+
selectAllPagesEnabled: false,
543+
selectAllPagesBufferSize: 500
484544
},
485545
helper
486546
);
@@ -502,7 +562,9 @@ describe("Table", () => {
502562
cellEventsController,
503563
checkboxEventsController,
504564
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
506568
};
507569

508570
return (

0 commit comments

Comments
 (0)