@powerhousedao/document-engineering 1.39.0 → 1.40.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -0
- package/dist/src/table/components/default-fns/default-cell-on-save.d.ts +11 -0
- package/dist/src/table/components/default-fns/default-cell-on-save.d.ts.map +1 -0
- package/dist/src/table/components/default-fns/default-cell-on-save.js +18 -0
- package/dist/src/table/components/default-fns/default-cell-on-save.js.map +1 -0
- package/dist/src/table/table/object-set-table.d.ts.map +1 -1
- package/dist/src/table/table/object-set-table.js +2 -11
- package/dist/src/table/table/object-set-table.js.map +1 -1
- package/dist/src/table/tests/basic-rendering.test.d.ts +2 -0
- package/dist/src/table/tests/basic-rendering.test.d.ts.map +1 -0
- package/dist/src/table/tests/basic-rendering.test.js +332 -0
- package/dist/src/table/tests/basic-rendering.test.js.map +1 -0
- package/dist/src/table/tests/cell-selection.test.d.ts +2 -0
- package/dist/src/table/tests/cell-selection.test.d.ts.map +1 -0
- package/dist/src/table/tests/cell-selection.test.js +346 -0
- package/dist/src/table/tests/cell-selection.test.js.map +1 -0
- package/dist/src/table/tests/helpers/test-utils.d.ts +28 -0
- package/dist/src/table/tests/helpers/test-utils.d.ts.map +1 -0
- package/dist/src/table/tests/helpers/test-utils.js +85 -0
- package/dist/src/table/tests/helpers/test-utils.js.map +1 -0
- package/dist/src/table/tests/page-objects/base-table.page.d.ts +83 -0
- package/dist/src/table/tests/page-objects/base-table.page.d.ts.map +1 -0
- package/dist/src/table/tests/page-objects/base-table.page.js +146 -0
- package/dist/src/table/tests/page-objects/base-table.page.js.map +1 -0
- package/dist/src/table/tests/page-objects/table-cell.page.d.ts +58 -0
- package/dist/src/table/tests/page-objects/table-cell.page.d.ts.map +1 -0
- package/dist/src/table/tests/page-objects/table-cell.page.js +163 -0
- package/dist/src/table/tests/page-objects/table-cell.page.js.map +1 -0
- package/dist/src/table/tests/page-objects/table-header.page.d.ts +66 -0
- package/dist/src/table/tests/page-objects/table-header.page.d.ts.map +1 -0
- package/dist/src/table/tests/page-objects/table-header.page.js +156 -0
- package/dist/src/table/tests/page-objects/table-header.page.js.map +1 -0
- package/dist/src/table/tests/page-objects/table-row.page.d.ts +98 -0
- package/dist/src/table/tests/page-objects/table-row.page.d.ts.map +1 -0
- package/dist/src/table/tests/page-objects/table-row.page.js +240 -0
- package/dist/src/table/tests/page-objects/table-row.page.js.map +1 -0
- package/dist/src/table/tests/page-objects/table.page.d.ts +36 -0
- package/dist/src/table/tests/page-objects/table.page.d.ts.map +1 -0
- package/dist/src/table/tests/page-objects/table.page.js +46 -0
- package/dist/src/table/tests/page-objects/table.page.js.map +1 -0
- package/dist/src/table/tests/row-actions.test.d.ts +2 -0
- package/dist/src/table/tests/row-actions.test.d.ts.map +1 -0
- package/dist/src/table/tests/row-actions.test.js +601 -0
- package/dist/src/table/tests/row-actions.test.js.map +1 -0
- package/dist/src/table/tests/row-selection.test.d.ts +2 -0
- package/dist/src/table/tests/row-selection.test.d.ts.map +1 -0
- package/dist/src/table/tests/row-selection.test.js +272 -0
- package/dist/src/table/tests/row-selection.test.js.map +1 -0
- package/dist/src/table/tests/sorting.test.d.ts +2 -0
- package/dist/src/table/tests/sorting.test.d.ts.map +1 -0
- package/dist/src/table/tests/sorting.test.js +793 -0
- package/dist/src/table/tests/sorting.test.js.map +1 -0
- package/dist/src/ui/components/data-entry/date-picker/date-picker.js +1 -1
- package/dist/src/ui/components/data-entry/date-picker/date-picker.js.map +1 -1
- package/dist/style.css +4 -5
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
2
|
+
import { describe, expect, it } from 'vitest';
|
|
3
|
+
import { fireEvent } from '@testing-library/react';
|
|
4
|
+
import { createMockPerson, createTestTableConfig, renderTestTable } from './helpers/test-utils.js';
|
|
5
|
+
import { TablePage } from './page-objects/table.page.js';
|
|
6
|
+
describe('ObjectSetTable - Cell Selection', () => {
|
|
7
|
+
describe('Single Cell Selection', () => {
|
|
8
|
+
it('should select a cell when clicked', () => {
|
|
9
|
+
const renderResult = renderTestTable();
|
|
10
|
+
const table = new TablePage(renderResult);
|
|
11
|
+
// Click cell at (0, 1) - First Name column
|
|
12
|
+
const cell = table.getCellByIndex(0, 1);
|
|
13
|
+
expect(cell).toBeTruthy();
|
|
14
|
+
fireEvent.click(cell);
|
|
15
|
+
// Verify cell is selected
|
|
16
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
17
|
+
expect(table.cell.getCellBorderColor(0, 1)).toBe('gray'); // Non-editable cell
|
|
18
|
+
});
|
|
19
|
+
it('should deselect previous cell when selecting a new cell', () => {
|
|
20
|
+
const renderResult = renderTestTable();
|
|
21
|
+
const table = new TablePage(renderResult);
|
|
22
|
+
// Click first cell
|
|
23
|
+
const firstCell = table.getCellByIndex(0, 1);
|
|
24
|
+
fireEvent.click(firstCell);
|
|
25
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
26
|
+
// Click second cell
|
|
27
|
+
const secondCell = table.getCellByIndex(1, 2);
|
|
28
|
+
fireEvent.click(secondCell);
|
|
29
|
+
// Verify first cell is deselected and second is selected
|
|
30
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
31
|
+
expect(table.cell.isCellSelected(1, 2)).toBe(true);
|
|
32
|
+
});
|
|
33
|
+
it('should clear cell selection when row number is clicked', () => {
|
|
34
|
+
const renderResult = renderTestTable();
|
|
35
|
+
const table = new TablePage(renderResult);
|
|
36
|
+
// Click cell first
|
|
37
|
+
const cell = table.getCellByIndex(0, 1);
|
|
38
|
+
expect(cell).toBeTruthy();
|
|
39
|
+
fireEvent.click(cell);
|
|
40
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
41
|
+
// Click row number cell
|
|
42
|
+
const rowNumberCell = table.getCellByIndex(0, 0);
|
|
43
|
+
expect(rowNumberCell).toBeTruthy();
|
|
44
|
+
fireEvent.click(rowNumberCell);
|
|
45
|
+
// Verify cell selection is cleared and row is selected
|
|
46
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
47
|
+
expect(table.row.isRowSelected(0)).toBe(true);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
describe('Visual State Changes', () => {
|
|
51
|
+
it('should apply blue border to selected editable cell', () => {
|
|
52
|
+
const editableConfig = createTestTableConfig({
|
|
53
|
+
columns: [
|
|
54
|
+
{
|
|
55
|
+
field: 'firstName',
|
|
56
|
+
title: 'First Name',
|
|
57
|
+
type: 'string',
|
|
58
|
+
editable: true,
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
field: 'status',
|
|
62
|
+
title: 'Status',
|
|
63
|
+
type: 'string',
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
field: 'payment',
|
|
67
|
+
title: 'Payment',
|
|
68
|
+
type: 'number',
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
});
|
|
72
|
+
const renderResult = renderTestTable(editableConfig);
|
|
73
|
+
const table = new TablePage(renderResult);
|
|
74
|
+
// Click editable cell
|
|
75
|
+
const editableCell = table.getCellByIndex(0, 1);
|
|
76
|
+
expect(editableCell).toBeTruthy();
|
|
77
|
+
fireEvent.click(editableCell);
|
|
78
|
+
// Verify blue border for editable cell
|
|
79
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
80
|
+
expect(table.cell.getCellBorderColor(0, 1)).toBe('blue');
|
|
81
|
+
});
|
|
82
|
+
it('should apply gray border to selected non-editable cell', () => {
|
|
83
|
+
const renderResult = renderTestTable();
|
|
84
|
+
const table = new TablePage(renderResult);
|
|
85
|
+
// Click non-editable cell
|
|
86
|
+
const nonEditableCell = table.getCellByIndex(0, 2);
|
|
87
|
+
expect(nonEditableCell).toBeTruthy();
|
|
88
|
+
fireEvent.click(nonEditableCell);
|
|
89
|
+
// Verify gray border for non-editable cell
|
|
90
|
+
expect(table.cell.isCellSelected(0, 2)).toBe(true);
|
|
91
|
+
expect(table.cell.getCellBorderColor(0, 2)).toBe('gray');
|
|
92
|
+
});
|
|
93
|
+
it('should apply focus styling to selected cell', () => {
|
|
94
|
+
const renderResult = renderTestTable();
|
|
95
|
+
const table = new TablePage(renderResult);
|
|
96
|
+
// Click cell
|
|
97
|
+
const cell = table.getCellByIndex(0, 1);
|
|
98
|
+
expect(cell).toBeTruthy();
|
|
99
|
+
fireEvent.click(cell);
|
|
100
|
+
// Verify cell has focus and tabIndex
|
|
101
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
102
|
+
expect(cell?.getAttribute('tabIndex')).toBe('0');
|
|
103
|
+
});
|
|
104
|
+
});
|
|
105
|
+
describe('Double-Click Edit Mode', () => {
|
|
106
|
+
it('should enter edit mode on double-click for editable cell', () => {
|
|
107
|
+
const editableConfig = createTestTableConfig({
|
|
108
|
+
columns: [
|
|
109
|
+
{
|
|
110
|
+
field: 'firstName',
|
|
111
|
+
title: 'First Name',
|
|
112
|
+
type: 'string',
|
|
113
|
+
editable: true,
|
|
114
|
+
},
|
|
115
|
+
{
|
|
116
|
+
field: 'status',
|
|
117
|
+
title: 'Status',
|
|
118
|
+
type: 'string',
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
field: 'payment',
|
|
122
|
+
title: 'Payment',
|
|
123
|
+
type: 'number',
|
|
124
|
+
},
|
|
125
|
+
],
|
|
126
|
+
});
|
|
127
|
+
const renderResult = renderTestTable(editableConfig);
|
|
128
|
+
const table = new TablePage(renderResult);
|
|
129
|
+
// Double-click editable cell - should enter edit mode, not just select
|
|
130
|
+
const editableCell = table.getCellByIndex(0, 1);
|
|
131
|
+
expect(editableCell).toBeTruthy();
|
|
132
|
+
fireEvent.doubleClick(editableCell);
|
|
133
|
+
// For editable cells, double-click enters edit mode instead of just selecting
|
|
134
|
+
// We can verify the cell is editable, but edit mode detection is complex
|
|
135
|
+
expect(table.cell.isCellEditable(0, 1)).toBe(true);
|
|
136
|
+
});
|
|
137
|
+
it('should handle double-click for non-editable cell', () => {
|
|
138
|
+
const nonEditableConfig = createTestTableConfig({
|
|
139
|
+
columns: [
|
|
140
|
+
{
|
|
141
|
+
field: 'firstName',
|
|
142
|
+
title: 'First Name',
|
|
143
|
+
type: 'string',
|
|
144
|
+
editable: false,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
field: 'status',
|
|
148
|
+
title: 'Status',
|
|
149
|
+
type: 'string',
|
|
150
|
+
editable: false,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
field: 'payment',
|
|
154
|
+
title: 'Payment',
|
|
155
|
+
type: 'number',
|
|
156
|
+
editable: false,
|
|
157
|
+
},
|
|
158
|
+
],
|
|
159
|
+
});
|
|
160
|
+
const renderResult = renderTestTable(nonEditableConfig);
|
|
161
|
+
const table = new TablePage(renderResult);
|
|
162
|
+
// Double-click non-editable cell - should not enter edit mode
|
|
163
|
+
const nonEditableCell = table.getCellByIndex(0, 2);
|
|
164
|
+
expect(nonEditableCell).toBeTruthy();
|
|
165
|
+
fireEvent.doubleClick(nonEditableCell);
|
|
166
|
+
// For non-editable cells, double-click should not cause any issues
|
|
167
|
+
// The main behavior is that the cell selection system works correctly
|
|
168
|
+
expect(table.cell.getCellValue(0, 2)).toBeDefined();
|
|
169
|
+
});
|
|
170
|
+
it('should select cell on first click and maintain selection on double-click', () => {
|
|
171
|
+
const editableConfig = createTestTableConfig({
|
|
172
|
+
columns: [
|
|
173
|
+
{
|
|
174
|
+
field: 'firstName',
|
|
175
|
+
title: 'First Name',
|
|
176
|
+
type: 'string',
|
|
177
|
+
editable: true,
|
|
178
|
+
},
|
|
179
|
+
{
|
|
180
|
+
field: 'status',
|
|
181
|
+
title: 'Status',
|
|
182
|
+
type: 'string',
|
|
183
|
+
},
|
|
184
|
+
{
|
|
185
|
+
field: 'payment',
|
|
186
|
+
title: 'Payment',
|
|
187
|
+
type: 'number',
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
});
|
|
191
|
+
const renderResult = renderTestTable(editableConfig);
|
|
192
|
+
const table = new TablePage(renderResult);
|
|
193
|
+
// First click - should select cell
|
|
194
|
+
const cell = table.getCellByIndex(0, 1);
|
|
195
|
+
expect(cell).toBeTruthy();
|
|
196
|
+
fireEvent.click(cell);
|
|
197
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
198
|
+
// Double-click - should maintain selection
|
|
199
|
+
expect(cell).toBeTruthy();
|
|
200
|
+
fireEvent.doubleClick(cell);
|
|
201
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
202
|
+
});
|
|
203
|
+
});
|
|
204
|
+
describe('Cell Selection Clearing', () => {
|
|
205
|
+
it('should clear cell selection when clicking another cell', () => {
|
|
206
|
+
const renderResult = renderTestTable();
|
|
207
|
+
const table = new TablePage(renderResult);
|
|
208
|
+
// Click first cell
|
|
209
|
+
const firstCell = table.getCellByIndex(0, 1);
|
|
210
|
+
fireEvent.click(firstCell);
|
|
211
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
212
|
+
// Click second cell
|
|
213
|
+
const secondCell = table.getCellByIndex(1, 2);
|
|
214
|
+
fireEvent.click(secondCell);
|
|
215
|
+
// Verify first cell is deselected and second is selected
|
|
216
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
217
|
+
expect(table.cell.isCellSelected(1, 2)).toBe(true);
|
|
218
|
+
});
|
|
219
|
+
it('should clear cell selection when selecting a row', () => {
|
|
220
|
+
const renderResult = renderTestTable();
|
|
221
|
+
const table = new TablePage(renderResult);
|
|
222
|
+
// Click cell first
|
|
223
|
+
const cell = table.getCellByIndex(0, 1);
|
|
224
|
+
expect(cell).toBeTruthy();
|
|
225
|
+
fireEvent.click(cell);
|
|
226
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
227
|
+
// Click row number of different row
|
|
228
|
+
const rowNumberCell = table.getCellByIndex(2, 0);
|
|
229
|
+
expect(rowNumberCell).toBeTruthy();
|
|
230
|
+
fireEvent.click(rowNumberCell);
|
|
231
|
+
// Verify cell selection is cleared and row is selected
|
|
232
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
233
|
+
expect(table.row.isRowSelected(2)).toBe(true);
|
|
234
|
+
});
|
|
235
|
+
it('should clear cell selection when clicking with Ctrl/Cmd/Shift', () => {
|
|
236
|
+
const renderResult = renderTestTable();
|
|
237
|
+
const table = new TablePage(renderResult);
|
|
238
|
+
// Click cell first
|
|
239
|
+
const cell = table.getCellByIndex(0, 1);
|
|
240
|
+
expect(cell).toBeTruthy();
|
|
241
|
+
fireEvent.click(cell);
|
|
242
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
243
|
+
// Click row with Ctrl key pressed
|
|
244
|
+
const row = table.getRowByIndex(2);
|
|
245
|
+
expect(row).toBeTruthy();
|
|
246
|
+
fireEvent.click(row, { ctrlKey: true });
|
|
247
|
+
// Verify cell selection is cleared when row selection happens
|
|
248
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
249
|
+
expect(table.row.isRowSelected(2)).toBe(true);
|
|
250
|
+
});
|
|
251
|
+
});
|
|
252
|
+
describe('Edge Cases', () => {
|
|
253
|
+
it('should handle cell selection in first row', () => {
|
|
254
|
+
const renderResult = renderTestTable();
|
|
255
|
+
const table = new TablePage(renderResult);
|
|
256
|
+
// Click cell in first row
|
|
257
|
+
const cell = table.getCellByIndex(0, 1);
|
|
258
|
+
expect(cell).toBeTruthy();
|
|
259
|
+
fireEvent.click(cell);
|
|
260
|
+
// Verify proper selection
|
|
261
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
262
|
+
expect(table.cell.getCellBorderColor(0, 1)).toBe('gray');
|
|
263
|
+
});
|
|
264
|
+
it('should handle cell selection in last row', () => {
|
|
265
|
+
const renderResult = renderTestTable();
|
|
266
|
+
const table = new TablePage(renderResult);
|
|
267
|
+
const lastRowIndex = table.getRowCount() - 1;
|
|
268
|
+
// Click cell in last row
|
|
269
|
+
const cell = table.getCellByIndex(lastRowIndex, 1);
|
|
270
|
+
expect(cell).toBeTruthy();
|
|
271
|
+
fireEvent.click(cell);
|
|
272
|
+
// Verify proper selection
|
|
273
|
+
expect(table.cell.isCellSelected(lastRowIndex, 1)).toBe(true);
|
|
274
|
+
expect(table.cell.getCellBorderColor(lastRowIndex, 1)).toBe('gray');
|
|
275
|
+
});
|
|
276
|
+
it('should handle cell selection with empty data', () => {
|
|
277
|
+
const emptyDataConfig = createTestTableConfig({
|
|
278
|
+
data: [createMockPerson({ firstName: '' })],
|
|
279
|
+
});
|
|
280
|
+
const renderResult = renderTestTable(emptyDataConfig);
|
|
281
|
+
const table = new TablePage(renderResult);
|
|
282
|
+
// Click empty cell
|
|
283
|
+
const cell = table.getCellByIndex(0, 1);
|
|
284
|
+
expect(cell).toBeTruthy();
|
|
285
|
+
fireEvent.click(cell);
|
|
286
|
+
// Verify selection works even with empty data
|
|
287
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
288
|
+
expect(table.cell.isCellEmpty(0, 1)).toBe(true);
|
|
289
|
+
});
|
|
290
|
+
it('should not allow cell selection when row selection is disabled', () => {
|
|
291
|
+
const noRowSelectionConfig = createTestTableConfig({
|
|
292
|
+
allowRowSelection: false,
|
|
293
|
+
});
|
|
294
|
+
const renderResult = renderTestTable(noRowSelectionConfig);
|
|
295
|
+
const table = new TablePage(renderResult);
|
|
296
|
+
// Click cell
|
|
297
|
+
const cell = table.getCellByIndex(0, 1);
|
|
298
|
+
expect(cell).toBeTruthy();
|
|
299
|
+
fireEvent.click(cell);
|
|
300
|
+
// Verify cell selection is disabled when row selection is disabled
|
|
301
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
302
|
+
expect(table.cell.getCellBorderColor(0, 1)).toBe('none');
|
|
303
|
+
});
|
|
304
|
+
it('should handle cell selection in different column types', () => {
|
|
305
|
+
const renderResult = renderTestTable();
|
|
306
|
+
const table = new TablePage(renderResult);
|
|
307
|
+
// Test selection in different columns
|
|
308
|
+
const firstNameCell = table.getCellByIndex(0, 1);
|
|
309
|
+
const statusCell = table.getCellByIndex(0, 2);
|
|
310
|
+
const paymentCell = table.getCellByIndex(0, 3);
|
|
311
|
+
// Click firstName column
|
|
312
|
+
expect(firstNameCell).toBeTruthy();
|
|
313
|
+
fireEvent.click(firstNameCell);
|
|
314
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(true);
|
|
315
|
+
// Click status column
|
|
316
|
+
expect(statusCell).toBeTruthy();
|
|
317
|
+
fireEvent.click(statusCell);
|
|
318
|
+
expect(table.cell.isCellSelected(0, 2)).toBe(true);
|
|
319
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
320
|
+
// Click payment column
|
|
321
|
+
expect(paymentCell).toBeTruthy();
|
|
322
|
+
fireEvent.click(paymentCell);
|
|
323
|
+
expect(table.cell.isCellSelected(0, 3)).toBe(true);
|
|
324
|
+
expect(table.cell.isCellSelected(0, 2)).toBe(false);
|
|
325
|
+
});
|
|
326
|
+
it('should handle rapid cell selection changes', () => {
|
|
327
|
+
const renderResult = renderTestTable();
|
|
328
|
+
const table = new TablePage(renderResult);
|
|
329
|
+
// Rapidly click different cells
|
|
330
|
+
const cell1 = table.getCellByIndex(0, 1);
|
|
331
|
+
const cell2 = table.getCellByIndex(1, 2);
|
|
332
|
+
const cell3 = table.getCellByIndex(2, 1);
|
|
333
|
+
expect(cell1).toBeTruthy();
|
|
334
|
+
fireEvent.click(cell1);
|
|
335
|
+
expect(cell2).toBeTruthy();
|
|
336
|
+
fireEvent.click(cell2);
|
|
337
|
+
expect(cell3).toBeTruthy();
|
|
338
|
+
fireEvent.click(cell3);
|
|
339
|
+
// Verify only the last clicked cell is selected
|
|
340
|
+
expect(table.cell.isCellSelected(0, 1)).toBe(false);
|
|
341
|
+
expect(table.cell.isCellSelected(1, 2)).toBe(false);
|
|
342
|
+
expect(table.cell.isCellSelected(2, 1)).toBe(true);
|
|
343
|
+
});
|
|
344
|
+
});
|
|
345
|
+
});
|
|
346
|
+
//# sourceMappingURL=cell-selection.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-selection.test.js","sourceRoot":"","sources":["../../../../src/table/tests/cell-selection.test.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type RenderOptions, type RenderResult } from '@testing-library/react';
|
|
2
|
+
import type { ReactElement } from 'react';
|
|
3
|
+
import type { ObjectSetTableConfig } from '../../table/types.js';
|
|
4
|
+
import { type MockedPerson } from '../../table/mock-data.js';
|
|
5
|
+
/**
|
|
6
|
+
* Custom render function that wraps components with necessary providers
|
|
7
|
+
* and provides common test utilities for table testing
|
|
8
|
+
*/
|
|
9
|
+
declare const customRender: (ui: ReactElement, options?: Omit<RenderOptions, "wrapper">) => RenderResult;
|
|
10
|
+
/**
|
|
11
|
+
* Creates a simple table configuration for testing
|
|
12
|
+
*/
|
|
13
|
+
export declare const createTestTableConfig: (overrides?: Partial<ObjectSetTableConfig<MockedPerson>>) => ObjectSetTableConfig<MockedPerson>;
|
|
14
|
+
/**
|
|
15
|
+
* Renders a test table with the given configuration
|
|
16
|
+
*/
|
|
17
|
+
export declare const renderTestTable: (config?: Partial<ObjectSetTableConfig<MockedPerson>>) => RenderResult;
|
|
18
|
+
/**
|
|
19
|
+
* Creates mock data for testing
|
|
20
|
+
*/
|
|
21
|
+
export declare const createMockPerson: (overrides?: Partial<MockedPerson>) => MockedPerson;
|
|
22
|
+
/**
|
|
23
|
+
* Creates an array of mock persons for testing
|
|
24
|
+
*/
|
|
25
|
+
export declare const createMockPersons: (count: number) => MockedPerson[];
|
|
26
|
+
export * from '@testing-library/react';
|
|
27
|
+
export { customRender as render };
|
|
28
|
+
//# sourceMappingURL=test-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../../../../src/table/tests/helpers/test-utils.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,wBAAwB,CAAA;AACtF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,OAAO,CAAA;AAEzC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAEtE;;;GAGG;AACH,QAAA,MAAM,YAAY,GAAI,IAAI,YAAY,EAAE,UAAU,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,KAAG,YAIlF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,KACtD,oBAAoB,CAAC,YAAY,CAwBnC,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,OAAO,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,KAAG,YAGtF,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,YAAY,OAAO,CAAC,YAAY,CAAC,KAAG,YAmBpE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,KAAG,YAAY,EAQ7D,CAAA;AAGD,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { render } from '@testing-library/react';
|
|
3
|
+
import { ObjectSetTable } from '../../table/object-set-table.js';
|
|
4
|
+
import { mockData } from '../../table/mock-data.js';
|
|
5
|
+
/**
|
|
6
|
+
* Custom render function that wraps components with necessary providers
|
|
7
|
+
* and provides common test utilities for table testing
|
|
8
|
+
*/
|
|
9
|
+
const customRender = (ui, options) => {
|
|
10
|
+
return render(ui, {
|
|
11
|
+
...options,
|
|
12
|
+
});
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Creates a simple table configuration for testing
|
|
16
|
+
*/
|
|
17
|
+
export const createTestTableConfig = (overrides) => {
|
|
18
|
+
return {
|
|
19
|
+
columns: [
|
|
20
|
+
{
|
|
21
|
+
field: 'firstName',
|
|
22
|
+
title: 'First Name',
|
|
23
|
+
type: 'string',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
field: 'status',
|
|
27
|
+
title: 'Status',
|
|
28
|
+
type: 'string',
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
field: 'payment',
|
|
32
|
+
title: 'Payment',
|
|
33
|
+
type: 'number',
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
data: mockData,
|
|
37
|
+
allowRowSelection: true,
|
|
38
|
+
showRowNumbers: true,
|
|
39
|
+
...overrides,
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Renders a test table with the given configuration
|
|
44
|
+
*/
|
|
45
|
+
export const renderTestTable = (config) => {
|
|
46
|
+
const tableConfig = createTestTableConfig(config);
|
|
47
|
+
return customRender(_jsx(ObjectSetTable, { ...tableConfig }));
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* Creates mock data for testing
|
|
51
|
+
*/
|
|
52
|
+
export const createMockPerson = (overrides) => {
|
|
53
|
+
return {
|
|
54
|
+
id: crypto.randomUUID(),
|
|
55
|
+
firstName: 'Test User',
|
|
56
|
+
walletAddress: '0x1234567890abcdef',
|
|
57
|
+
isActive: true,
|
|
58
|
+
payment: 1000,
|
|
59
|
+
email: 'test@example.com',
|
|
60
|
+
status: 'active',
|
|
61
|
+
address: {
|
|
62
|
+
country: 'US',
|
|
63
|
+
addressLine1: '123 Test St',
|
|
64
|
+
addressLine2: 'Apt 1',
|
|
65
|
+
city: 'Test City',
|
|
66
|
+
state: 'TS',
|
|
67
|
+
zip: '12345',
|
|
68
|
+
},
|
|
69
|
+
...overrides,
|
|
70
|
+
};
|
|
71
|
+
};
|
|
72
|
+
/**
|
|
73
|
+
* Creates an array of mock persons for testing
|
|
74
|
+
*/
|
|
75
|
+
export const createMockPersons = (count) => {
|
|
76
|
+
return Array.from({ length: count }, (_, index) => createMockPerson({
|
|
77
|
+
id: `test-${index}`,
|
|
78
|
+
firstName: `User ${index}`,
|
|
79
|
+
payment: index * 100,
|
|
80
|
+
}));
|
|
81
|
+
};
|
|
82
|
+
// Re-export everything from testing-library
|
|
83
|
+
export * from '@testing-library/react';
|
|
84
|
+
export { customRender as render };
|
|
85
|
+
//# sourceMappingURL=test-utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test-utils.js","sourceRoot":"","sources":["../../../../../src/table/tests/helpers/test-utils.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAyC,MAAM,wBAAwB,CAAA;AAEtF,OAAO,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAA;AAEhE,OAAO,EAAE,QAAQ,EAAqB,MAAM,0BAA0B,CAAA;AAEtE;;;GAGG;AACH,MAAM,YAAY,GAAG,CAAC,EAAgB,EAAE,OAAwC,EAAgB,EAAE;IAChG,OAAO,MAAM,CAAC,EAAE,EAAE;QAChB,GAAG,OAAO;KACX,CAAC,CAAA;AACJ,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,SAAuD,EACnB,EAAE;IACtC,OAAO;QACL,OAAO,EAAE;YACP;gBACE,KAAK,EAAE,WAAW;gBAClB,KAAK,EAAE,YAAY;gBACnB,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,QAAQ;gBACf,IAAI,EAAE,QAAQ;aACf;YACD;gBACE,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,SAAS;gBAChB,IAAI,EAAE,QAAQ;aACf;SACF;QACD,IAAI,EAAE,QAAQ;QACd,iBAAiB,EAAE,IAAI;QACvB,cAAc,EAAE,IAAI;QACpB,GAAG,SAAS;KACb,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAoD,EAAgB,EAAE;IACpG,MAAM,WAAW,GAAG,qBAAqB,CAAC,MAAM,CAAC,CAAA;IACjD,OAAO,YAAY,CAAC,KAAC,cAAc,OAAK,WAAW,GAAI,CAAC,CAAA;AAC1D,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiC,EAAgB,EAAE;IAClF,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,UAAU,EAAE;QACvB,SAAS,EAAE,WAAW;QACtB,aAAa,EAAE,oBAAoB;QACnC,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,kBAAkB;QACzB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,aAAa;YAC3B,YAAY,EAAE,OAAO;YACrB,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,IAAI;YACX,GAAG,EAAE,OAAO;SACb;QACD,GAAG,SAAS;KACb,CAAA;AACH,CAAC,CAAA;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAa,EAAkB,EAAE;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAChD,gBAAgB,CAAC;QACf,EAAE,EAAE,QAAQ,KAAK,EAAE;QACnB,SAAS,EAAE,QAAQ,KAAK,EAAE;QAC1B,OAAO,EAAE,KAAK,GAAG,GAAG;KACrB,CAAC,CACH,CAAA;AACH,CAAC,CAAA;AAED,4CAA4C;AAC5C,cAAc,wBAAwB,CAAA;AACtC,OAAO,EAAE,YAAY,IAAI,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { type RenderResult } from '@testing-library/react';
|
|
2
|
+
/**
|
|
3
|
+
* Base page object class for table interactions
|
|
4
|
+
* Provides common methods to query and interact with the table component
|
|
5
|
+
*/
|
|
6
|
+
export declare class BaseTablePage {
|
|
7
|
+
protected container: HTMLElement;
|
|
8
|
+
protected renderResult: RenderResult;
|
|
9
|
+
constructor(renderResult: RenderResult);
|
|
10
|
+
/**
|
|
11
|
+
* Gets the main table element
|
|
12
|
+
*/
|
|
13
|
+
getTable(): HTMLElement;
|
|
14
|
+
/**
|
|
15
|
+
* Gets the table header element
|
|
16
|
+
*/
|
|
17
|
+
getTableHeader(): HTMLElement;
|
|
18
|
+
/**
|
|
19
|
+
* Gets the table body element
|
|
20
|
+
*/
|
|
21
|
+
getTableBody(): HTMLElement;
|
|
22
|
+
/**
|
|
23
|
+
* Gets all table rows (excluding header)
|
|
24
|
+
*/
|
|
25
|
+
getTableRows(): HTMLElement[];
|
|
26
|
+
/**
|
|
27
|
+
* Gets all header rows
|
|
28
|
+
*/
|
|
29
|
+
getHeaderRows(): HTMLElement[];
|
|
30
|
+
/**
|
|
31
|
+
* Gets a specific row by index (0-based)
|
|
32
|
+
*/
|
|
33
|
+
getRowByIndex(index: number): HTMLElement | null;
|
|
34
|
+
/**
|
|
35
|
+
* Gets all cells in a specific row
|
|
36
|
+
*/
|
|
37
|
+
getCellsInRow(row: HTMLElement): HTMLElement[];
|
|
38
|
+
/**
|
|
39
|
+
* Gets a specific cell by row and column index (0-based)
|
|
40
|
+
*/
|
|
41
|
+
getCellByIndex(rowIndex: number, columnIndex: number): HTMLElement | null;
|
|
42
|
+
/**
|
|
43
|
+
* Gets all header cells
|
|
44
|
+
*/
|
|
45
|
+
getHeaderCells(): HTMLElement[];
|
|
46
|
+
/**
|
|
47
|
+
* Gets a specific header cell by index (0-based)
|
|
48
|
+
*/
|
|
49
|
+
getHeaderCellByIndex(index: number): HTMLElement | null;
|
|
50
|
+
/**
|
|
51
|
+
* Gets the text content of a cell
|
|
52
|
+
*/
|
|
53
|
+
getCellText(rowIndex: number, columnIndex: number): string;
|
|
54
|
+
/**
|
|
55
|
+
* Gets the text content of a header cell
|
|
56
|
+
*/
|
|
57
|
+
getHeaderCellText(columnIndex: number): string;
|
|
58
|
+
/**
|
|
59
|
+
* Gets the number of rows in the table (excluding header)
|
|
60
|
+
*/
|
|
61
|
+
getRowCount(): number;
|
|
62
|
+
/**
|
|
63
|
+
* Gets the number of columns in the table
|
|
64
|
+
*/
|
|
65
|
+
getColumnCount(): number;
|
|
66
|
+
/**
|
|
67
|
+
* Checks if the table is present in the DOM
|
|
68
|
+
*/
|
|
69
|
+
isTablePresent(): boolean;
|
|
70
|
+
/**
|
|
71
|
+
* Gets all column headers as an array of strings
|
|
72
|
+
*/
|
|
73
|
+
getColumnHeaders(): string[];
|
|
74
|
+
/**
|
|
75
|
+
* Finds a row that contains specific text
|
|
76
|
+
*/
|
|
77
|
+
findRowByText(text: string): HTMLElement | null;
|
|
78
|
+
/**
|
|
79
|
+
* Gets all text content from a specific row
|
|
80
|
+
*/
|
|
81
|
+
getRowText(rowIndex: number): string[];
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=base-table.page.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-table.page.d.ts","sourceRoot":"","sources":["../../../../../src/table/tests/page-objects/base-table.page.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAU,MAAM,wBAAwB,CAAA;AAElE;;;GAGG;AACH,qBAAa,aAAa;IACxB,SAAS,CAAC,SAAS,EAAE,WAAW,CAAA;IAChC,SAAS,CAAC,YAAY,EAAE,YAAY,CAAA;gBAExB,YAAY,EAAE,YAAY;IAKtC;;OAEG;IACH,QAAQ,IAAI,WAAW;IAIvB;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,YAAY,IAAI,WAAW;IAI3B;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAK7B;;OAEG;IACH,aAAa,IAAI,WAAW,EAAE;IAK9B;;OAEG;IACH,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKhD;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,WAAW,GAAG,WAAW,EAAE;IAI9C;;OAEG;IACH,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAQzE;;OAEG;IACH,cAAc,IAAI,WAAW,EAAE;IAO/B;;OAEG;IACH,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAKvD;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM;IAK1D;;OAEG;IACH,iBAAiB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IAK9C;;OAEG;IACH,WAAW,IAAI,MAAM;IAIrB;;OAEG;IACH,cAAc,IAAI,MAAM;IAKxB;;OAEG;IACH,cAAc,IAAI,OAAO;IASzB;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAK/C;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;CAMvC"}
|