@reltio/components 1.4.2044 → 1.4.2046

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.
Files changed (175) hide show
  1. package/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  2. package/BasicTable/BasicTable.test.js +232 -278
  3. package/BlobRenderer/BlobRenderer.js +1 -1
  4. package/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  5. package/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  6. package/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  7. package/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  8. package/DeleteButton/DeleteButton.spec.js +53 -15
  9. package/DependentLookupEditor/DependentLookupEditor.test.js +555 -807
  10. package/Drawer/Drawer.test.js +9 -20
  11. package/DropDownEditor/DropDownEditor.test.js +81 -29
  12. package/DropDownMenuButton/DropDownMenuButton.spec.js +101 -70
  13. package/DropDownSelector/DropDownSelector.test.js +159 -30
  14. package/EditModeAttributesFactory/EditModeAttributesFactory.test.js +143 -0
  15. package/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  16. package/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  17. package/EditModeAttributesList/attributes.test-data.js +1 -1
  18. package/EditModeAttributesPager/EditModeAttributesPager.test.js +698 -234
  19. package/EditModeAttributesPager/helpers.test.js +2 -12
  20. package/EditModeAttributesView/EditModeAttributesView.test.js +263 -157
  21. package/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  22. package/EditModeComplexAttribute/EditModeComplexAttribute.test.js +313 -298
  23. package/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  24. package/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  25. package/EmptyState/EmptyState.test.js +99 -38
  26. package/EntityCreator/EntityCreator.test.js +68 -35
  27. package/EntitySelector/EntitySelector.js +1 -1
  28. package/EntitySelector/EntitySelector.test.js +275 -422
  29. package/EntityTypeIcon/EntityTypeIcon.test.js +16 -16
  30. package/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  31. package/ErrorBoundary/ErrorBoundary.test.js +19 -17
  32. package/ErrorMessage/ErrorMessage.js +1 -1
  33. package/ErrorPopup/ErrorPopup.test.js +72 -25
  34. package/ErrorWrapper/ErrorWrapper.test.js +10 -9
  35. package/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  36. package/FileTypeEditor/FileTypeEditor.test.js +95 -64
  37. package/FilterValueEditor/FilterValueEditor.test.js +183 -157
  38. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  39. package/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  40. package/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  41. package/OvIcon/OvIcon.js +2 -2
  42. package/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  43. package/ShowLess/ShowLess.js +1 -1
  44. package/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  45. package/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  46. package/cjs/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  47. package/cjs/BasicTable/BasicTable.test.js +230 -299
  48. package/cjs/BlobRenderer/BlobRenderer.js +1 -1
  49. package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  50. package/cjs/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  51. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  52. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  53. package/cjs/DeleteButton/DeleteButton.spec.js +53 -15
  54. package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +569 -821
  55. package/cjs/Drawer/Drawer.test.js +10 -21
  56. package/cjs/DropDownEditor/DropDownEditor.test.js +81 -29
  57. package/cjs/DropDownMenuButton/DropDownMenuButton.spec.js +102 -71
  58. package/cjs/DropDownSelector/DropDownSelector.test.js +159 -30
  59. package/cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.js +148 -0
  60. package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  61. package/cjs/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  62. package/cjs/EditModeAttributesList/attributes.test-data.js +1 -1
  63. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +696 -232
  64. package/cjs/EditModeAttributesPager/helpers.test.js +2 -12
  65. package/cjs/EditModeAttributesView/EditModeAttributesView.test.js +262 -156
  66. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  67. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.test.js +312 -297
  68. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  69. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  70. package/cjs/EmptyState/EmptyState.test.js +98 -37
  71. package/cjs/EntityCreator/EntityCreator.test.js +69 -36
  72. package/cjs/EntitySelector/EntitySelector.js +1 -1
  73. package/cjs/EntitySelector/EntitySelector.test.js +274 -421
  74. package/cjs/EntityTypeIcon/EntityTypeIcon.test.js +17 -17
  75. package/cjs/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  76. package/cjs/ErrorBoundary/ErrorBoundary.test.js +19 -17
  77. package/cjs/ErrorMessage/ErrorMessage.js +1 -1
  78. package/cjs/ErrorPopup/ErrorPopup.test.js +71 -24
  79. package/cjs/ErrorWrapper/ErrorWrapper.test.js +10 -9
  80. package/cjs/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  81. package/cjs/FileTypeEditor/FileTypeEditor.test.js +95 -64
  82. package/cjs/FilterValueEditor/FilterValueEditor.test.js +182 -156
  83. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  84. package/cjs/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  85. package/cjs/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  86. package/cjs/OvIcon/OvIcon.js +2 -2
  87. package/cjs/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  88. package/cjs/ShowLess/ShowLess.js +1 -1
  89. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  90. package/cjs/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  91. package/cjs/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  92. package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -2
  93. package/cjs/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -53
  94. package/cjs/test-utils/TestStylesProvider.js +6 -5
  95. package/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  96. package/contexts/MdmModuleContext/hooks.d.ts +2 -2
  97. package/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -30
  98. package/package.json +2 -2
  99. package/test-utils/TestStylesProvider.js +3 -2
  100. package/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -101
  101. package/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -106
  102. package/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  103. package/BasicTable/IntegrationBasicTable.test.js +0 -203
  104. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  105. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -137
  106. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  107. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -32
  108. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  109. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -106
  110. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  111. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -338
  112. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  113. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -225
  114. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  115. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -47
  116. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  117. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -204
  118. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  119. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -246
  120. package/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  121. package/EditModeAttributesView/metadata.test-data.js +0 -119
  122. package/EntityCreator/entityType.test-data.d.ts +0 -52
  123. package/EntityCreator/entityType.test-data.js +0 -188
  124. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  125. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -27
  126. package/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  127. package/EntitySelector/components/EntityOption/EntityOption.test.js +0 -79
  128. package/EntitySelector/components/Group/Group.test.d.ts +0 -1
  129. package/EntitySelector/components/Group/Group.test.js +0 -65
  130. package/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  131. package/EntitySelector/components/SingleValue/SingleValue.test.js +0 -78
  132. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  133. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -76
  134. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts +0 -1
  135. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -106
  136. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts +0 -1
  137. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -111
  138. package/cjs/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  139. package/cjs/BasicTable/IntegrationBasicTable.test.js +0 -208
  140. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  141. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -142
  142. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  143. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -37
  144. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  145. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -111
  146. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  147. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -343
  148. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  149. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -230
  150. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  151. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -52
  152. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  153. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -209
  154. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  155. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -251
  156. package/cjs/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  157. package/cjs/EditModeAttributesView/metadata.test-data.js +0 -123
  158. package/cjs/EntityCreator/entityType.test-data.d.ts +0 -52
  159. package/cjs/EntityCreator/entityType.test-data.js +0 -191
  160. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  161. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -32
  162. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  163. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.js +0 -84
  164. package/cjs/EntitySelector/components/Group/Group.test.d.ts +0 -1
  165. package/cjs/EntitySelector/components/Group/Group.test.js +0 -70
  166. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  167. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.js +0 -83
  168. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  169. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -81
  170. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  171. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -104
  172. package/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  173. package/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -99
  174. /package/{AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts → EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
  175. /package/{AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts → cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
@@ -10,317 +10,248 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
12
  };
13
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- var desc = Object.getOwnPropertyDescriptor(m, k);
16
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
17
- desc = { enumerable: true, get: function() { return m[k]; } };
13
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
14
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
15
+ return new (P || (P = Promise))(function (resolve, reject) {
16
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
17
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
18
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
19
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
20
+ });
21
+ };
22
+ var __generator = (this && this.__generator) || function (thisArg, body) {
23
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
24
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
25
+ function verb(n) { return function (v) { return step([n, v]); }; }
26
+ function step(op) {
27
+ if (f) throw new TypeError("Generator is already executing.");
28
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
29
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
30
+ if (y = 0, t) op = [op[0] & 2, t.value];
31
+ switch (op[0]) {
32
+ case 0: case 1: t = op; break;
33
+ case 4: _.label++; return { value: op[1], done: false };
34
+ case 5: _.label++; y = op[1]; op = [0]; continue;
35
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
36
+ default:
37
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
38
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
39
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
40
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
41
+ if (t[2]) _.ops.pop();
42
+ _.trys.pop(); continue;
43
+ }
44
+ op = body.call(thisArg, _);
45
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
46
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
18
47
  }
19
- Object.defineProperty(o, k2, desc);
20
- }) : (function(o, m, k, k2) {
21
- if (k2 === undefined) k2 = k;
22
- o[k2] = m[k];
23
- }));
24
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
25
- Object.defineProperty(o, "default", { enumerable: true, value: v });
26
- }) : function(o, v) {
27
- o["default"] = v;
28
- });
29
- var __importStar = (this && this.__importStar) || function (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
35
48
  };
36
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
37
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
38
51
  };
39
52
  Object.defineProperty(exports, "__esModule", { value: true });
40
53
  var react_1 = __importDefault(require("react"));
41
- var enzyme_1 = require("enzyme");
42
- var Table_1 = __importDefault(require("react-components/dist/Table/Table"));
43
- var dataHelpers = __importStar(require("./helpers"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
+ var CollapseRowButton_1 = require("../CollapseRowButton");
57
+ var test_utils_1 = require("../test-utils");
44
58
  var BasicTable_1 = require("./BasicTable");
45
- var basicTable_1 = require("../helpers/basicTable");
46
- var BasicTableContext_1 = require("../contexts/BasicTableContext");
47
- var useCollapsibleTableRows_1 = require("../hooks/useCollapsibleTableRows");
48
- var RowCollapseContext_1 = require("../contexts/RowCollapseContext");
49
- jest.mock('../hooks/useCollapsibleTableRows', function () { return ({
50
- useCollapsibleTableRows: jest.fn()
51
- }); });
52
- describe('BasicTable', function () {
53
- var headData = [
54
- {
55
- id: 'id1',
56
- label: 'label1',
57
- sortable: true,
58
- resizable: true
59
- },
60
- {
61
- id: 'id2',
62
- label: 'label2',
63
- sortable: false,
64
- resizable: true
65
- },
66
- {
67
- id: 'id3',
68
- label: 'label3',
69
- sortable: true,
70
- resizable: false
71
- },
72
- {
73
- id: 'id4',
74
- label: 'label4',
75
- sortable: false,
76
- resizable: false,
77
- className: 'className3'
78
- },
79
- {
80
- id: 'id5',
81
- label: 'label5',
82
- sortable: false,
83
- resizable: false
84
- },
85
- {
86
- id: 'id6',
87
- label: 'label6',
88
- sortable: false,
89
- resizable: false
90
- }
91
- ];
92
- var rowsData = [
93
- {
94
- data: {
95
- id1: [{ values: 'test0', rowSpan: 4 }],
96
- id2: [
97
- { values: 'test1-1', rowSpan: 2 },
98
- { values: 'test1-2', rowSpan: 2 }
99
- ],
100
- id3: [
101
- { values: null, rowSpan: 1 },
102
- { values: ['test0-1-0'], rowSpan: 1 },
103
- { values: ['test0-2-0'], rowSpan: 1 },
104
- { values: null, rowSpan: 1 }
105
- ],
106
- id4: [
107
- { values: null, rowSpan: 2 },
108
- { values: ['test1-1-0', 'test1-1-1'], rowSpan: 1 },
109
- { values: ['test1-2-0', 'test1-2-1'], rowSpan: 1 }
110
- ],
111
- id5: [
112
- { values: ['test2-0-0', 'test2-0-1'], rowSpan: 1 },
113
- { values: ['test2-1-0', 'test2-1-1', 'test2-1-2'], rowSpan: 1 },
114
- { values: ['test2-2-0', 'test2-2-1', 'test2-2-2', 'test2-2-3'], rowSpan: 2 }
115
- ],
116
- id6: [
117
- { values: ['test3-0-0', 'test3-0-1'], rowSpan: 1 },
118
- { values: ['test3-1-0', 'test3-1-1', 'test3-1-2'], rowSpan: 2 },
119
- {
120
- values: [
121
- react_1.default.createElement("div", { key: "test3-2-0" }, "test3-2-0"),
122
- react_1.default.createElement("div", { key: "test3-2-1" }, "test3-2-1"),
123
- react_1.default.createElement("div", { key: "test3-2-2" }, "test3-2-2"),
124
- react_1.default.createElement("div", { key: "test3-2-3" }, "test3-2-3"),
125
- react_1.default.createElement("div", { key: "test3-2-4" }, "test3-2-4")
126
- ],
127
- rowSpan: 1
128
- }
129
- ]
130
- },
131
- rowHeight: 48
132
- },
133
- {
134
- data: {
135
- id1: [{ values: 'test1', rowSpan: 1 }],
136
- id2: [{ values: 'test1-1', rowSpan: 1 }],
137
- id3: [{ values: null, rowSpan: 1 }],
138
- id4: [{ values: null, rowSpan: 1 }],
139
- id5: [{ values: ['test2-0-0', 'test2-0-1'], rowSpan: 1 }],
140
- id6: [{ values: ['test3-0-0', 'test3-0-1'], rowSpan: 1 }]
141
- },
142
- rowHeight: 48
143
- },
144
- {
145
- data: {
146
- id1: [{ values: 'test2', rowSpan: 1 }],
147
- id2: [{ values: 'test1-1', rowSpan: 1 }],
148
- id3: [{ values: null, rowSpan: 1 }],
149
- id4: [{ values: null, rowSpan: 1 }],
150
- id5: [{ values: ['test2-0-0', react_1.default.createElement("div", { key: "test2-0-1" }, "test2-0-1")], rowSpan: 1 }],
151
- id6: [{ values: ['test3-0-0', react_1.default.createElement("div", { key: "test3-0-1" }, "test3-0-1")], rowSpan: 1 }]
152
- },
153
- rowHeight: 48
154
- }
155
- ];
156
- var collapseContextValue = {};
157
- beforeAll(function () {
158
- useCollapsibleTableRows_1.useCollapsibleTableRows.mockReturnValue({
159
- tableRowsData: rowsData,
160
- collapseContextValue: collapseContextValue
161
- });
162
- });
163
- beforeEach(function () {
164
- jest.spyOn(dataHelpers, 'getTableHeadData').mockReturnValue(headData);
59
+ var getRowByIndex = function (index) {
60
+ var fixHeadAndFirstColumnContainer = react_2.screen.queryByTestId('fix-head-and-fix-column-container');
61
+ return (0, react_2.within)(fixHeadAndFirstColumnContainer).queryAllByTestId("base-cell-".concat(index));
62
+ };
63
+ var getCellByIndexes = function (rowIndex, columnIndex) {
64
+ var row = getRowByIndex(rowIndex);
65
+ return row[columnIndex];
66
+ };
67
+ var FirstColumnRenderer = function (_a) {
68
+ var value = _a.value, rowValue = _a.rowValue, rowIndex = _a.rowIndex, draggableProps = _a.draggableProps;
69
+ return (react_1.default.createElement("div", null,
70
+ react_1.default.createElement(CollapseRowButton_1.CollapseRowButton, { rowIndex: rowIndex, rowValue: rowValue }),
71
+ react_1.default.createElement("div", __assign({}, draggableProps), "drag el"),
72
+ react_1.default.createElement("div", null, value.name)));
73
+ };
74
+ var SecondColumnRenderer = function (_a) {
75
+ var value = _a.value;
76
+ return react_1.default.createElement("div", null, value.value);
77
+ };
78
+ var getRowCellRenderer = function (id) {
79
+ switch (id) {
80
+ case 'id1':
81
+ return FirstColumnRenderer;
82
+ case 'id2':
83
+ return SecondColumnRenderer;
84
+ default:
85
+ return function () { return null; };
86
+ }
87
+ };
88
+ var onHeadClickFn = jest.fn();
89
+ var HeadCellRenderer = function (_a) {
90
+ var headCellData = _a.headCellData;
91
+ return (react_1.default.createElement("div", null,
92
+ react_1.default.createElement("button", { onClick: onHeadClickFn }, headCellData.label)));
93
+ };
94
+ var columnsData = [
95
+ {
96
+ autoResize: false,
97
+ headCellRenderer: HeadCellRenderer,
98
+ id: 'id1',
99
+ initialWidth: 300,
100
+ label: 'column 1',
101
+ minWidth: 250,
102
+ resizable: true,
103
+ draggable: true,
104
+ rowCellValueRenderer: getRowCellRenderer('id1'),
105
+ sortable: false
106
+ },
107
+ {
108
+ autoResize: false,
109
+ headCellRenderer: function () { return 'second column'; },
110
+ id: 'id2',
111
+ initialWidth: 300,
112
+ label: 'column 2',
113
+ minWidth: 250,
114
+ resizable: true,
115
+ rowCellValueRenderer: getRowCellRenderer('id2'),
116
+ sortable: false
117
+ }
118
+ ];
119
+ var rowsData = [
120
+ { id1: { name: 'row 1' }, id2: [{ value: 'row 1 value 1' }, { value: 'row 1 value 2' }, { value: 'row 1 value 3' }] },
121
+ { id1: { name: 'row 2' }, id2: [{ value: 'row 2 value 1' }, { value: 'row 2 value 2' }] }
122
+ ];
123
+ var defaultProps = {
124
+ fixFirstColumn: true,
125
+ columnsData: columnsData,
126
+ rowsData: rowsData,
127
+ headRowHeight: 48,
128
+ defaultColumnWidth: 250,
129
+ defaultColumnMinWidth: 200,
130
+ dndColumnReorderingEnabled: true,
131
+ dndColumnReorderingHandler: function () { },
132
+ dndRowReorderingEnabled: true,
133
+ dndRowReorderingHandler: function () { },
134
+ getIdFromRowValue: function (rowValue) { return rowValue.id1.name; },
135
+ getRowCellHeight: function () { return 48; },
136
+ maxRowValuesCount: 1,
137
+ context: {}
138
+ };
139
+ var setUp = function (props) {
140
+ if (props === void 0) { props = defaultProps; }
141
+ var user = user_event_1.default.setup();
142
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)))), { user: user });
143
+ };
144
+ describe('basic table tests', function () {
145
+ afterEach(function () {
165
146
  jest.clearAllMocks();
166
147
  });
167
- it('should render Table with correct props', function () {
168
- var props = {
169
- defaultColumnWidth: 100,
170
- defaultColumnMinWidth: 100,
171
- headRowHeight: 48,
172
- columnsData: [],
173
- filters: null,
174
- onFilter: jest.fn(),
175
- rowsData: [],
176
- sorting: { field: 'column', order: 'asc' },
177
- onSort: jest.fn(),
178
- renderRowCell: jest.fn(),
179
- getRowCellHeight: jest.fn(),
180
- maxRowValuesCount: 3
181
- };
182
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
183
- expect(wrapper.find(Table_1.default).props()).toMatchObject({
184
- fixHead: true,
185
- headData: headData,
186
- rowsData: rowsData,
187
- sortField: props.sorting.field,
188
- sortOrder: props.sorting.order,
189
- onSort: props.onSort
190
- });
191
- expect(dataHelpers.getTableHeadData).toHaveBeenCalledWith(props.columnsData, props.filters, props.onFilter);
192
- expect(useCollapsibleTableRows_1.useCollapsibleTableRows).toHaveBeenCalledWith({
193
- rowsData: props.rowsData,
194
- columnsData: props.columnsData,
195
- renderRowCell: props.renderRowCell,
196
- getRowCellHeight: props.getRowCellHeight,
197
- maxRowValuesCount: props.maxRowValuesCount
198
- });
199
- var collapseContextProvider = wrapper.find(RowCollapseContext_1.RowCollapseContext.Provider);
200
- expect(collapseContextProvider.prop('value')).toBe(collapseContextValue);
201
- expect(collapseContextProvider.childAt(0).find(Table_1.default).exists()).toBe(true);
202
- });
203
- it('should provide Table with context', function () {
204
- var props = {
205
- defaultColumnWidth: 100,
206
- defaultColumnMinWidth: 100,
207
- headRowHeight: 48,
208
- columnsData: [],
209
- filters: null,
210
- onFilter: jest.fn(),
211
- rowsData: [],
212
- sorting: { field: 'column', order: 'asc' },
213
- onSort: jest.fn(),
214
- renderRowCell: jest.fn(),
215
- getRowCellHeight: jest.fn(),
216
- context: { someKey: 'someValue' }
217
- };
218
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
219
- var contextProvider = wrapper.find(BasicTableContext_1.BasicTableContext.Provider);
220
- expect(contextProvider.prop('value')).toBe(props.context);
221
- expect(contextProvider.childAt(0)).toEqual(wrapper.find(Table_1.default));
222
- });
223
- it('should render Table without fixed head if row data is empty', function () {
224
- var props = {
225
- defaultColumnWidth: 100,
226
- defaultColumnMinWidth: 100,
227
- headRowHeight: 48,
228
- columnsData: [],
229
- filters: null,
230
- onFilter: jest.fn(),
231
- rowsData: [],
232
- sorting: { field: 'column', order: 'asc' },
233
- onSort: jest.fn(),
234
- renderRowCell: jest.fn(),
235
- getRowCellHeight: jest.fn()
236
- };
237
- useCollapsibleTableRows_1.useCollapsibleTableRows.mockReturnValueOnce({
238
- tableRowsData: [],
239
- collapseContextValue: collapseContextValue
240
- });
241
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
242
- expect(wrapper.find(Table_1.default).prop('fixHead')).toBe(false);
148
+ it('should not render Table when columnsData is empty array', function () {
149
+ var props = __assign(__assign({}, defaultProps), { columnsData: [] });
150
+ var container = setUp(props).container;
151
+ expect(container).toBeEmptyDOMElement();
243
152
  });
244
- it('should use default row cell renderer if it is not provided in props', function () {
245
- var props = {
246
- defaultColumnWidth: 100,
247
- defaultColumnMinWidth: 100,
248
- headRowHeight: 48,
249
- columnsData: [],
250
- rowsData: [],
251
- sorting: { field: 'column', order: 'asc' },
252
- onSort: jest.fn(),
253
- getRowCellHeight: jest.fn(),
254
- maxRowValuesCount: 3
255
- };
256
- (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
257
- expect(useCollapsibleTableRows_1.useCollapsibleTableRows).toHaveBeenCalledWith({
258
- rowsData: props.rowsData,
259
- columnsData: props.columnsData,
260
- renderRowCell: basicTable_1.defaultRenderRowCell,
261
- getRowCellHeight: props.getRowCellHeight,
262
- maxRowValuesCount: props.maxRowValuesCount
153
+ it('should render correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
154
+ var unmockTableSizing, user;
155
+ return __generator(this, function (_a) {
156
+ switch (_a.label) {
157
+ case 0:
158
+ unmockTableSizing = (0, test_utils_1.mockBasicTableSizing)();
159
+ user = setUp().user;
160
+ react_2.screen.getByText('column 1');
161
+ react_2.screen.getByText('second column');
162
+ react_2.screen.getByText('row 1');
163
+ react_2.screen.getByText('row 1 value 1');
164
+ expect(react_2.screen.queryByText('row 1 value 2')).not.toBeInTheDocument();
165
+ expect(react_2.screen.queryByText('row 1 value 3')).not.toBeInTheDocument();
166
+ react_2.screen.getByText('row 2');
167
+ react_2.screen.getByText('row 2 value 1');
168
+ expect(react_2.screen.queryByText('row 2 value 2')).not.toBeInTheDocument();
169
+ return [4 /*yield*/, user.click((0, react_2.within)(getCellByIndexes(0, 0)).queryByTestId('collapse-button'))];
170
+ case 1:
171
+ _a.sent();
172
+ react_2.screen.getByText('row 1 value 2');
173
+ react_2.screen.getByText('row 1 value 3');
174
+ return [4 /*yield*/, user.click((0, react_2.within)(getCellByIndexes(1, 0)).queryByTestId('collapse-button'))];
175
+ case 2:
176
+ _a.sent();
177
+ react_2.screen.getByText('row 2 value 2');
178
+ return [4 /*yield*/, user.click((0, react_2.within)(getCellByIndexes(0, 0)).queryByTestId('collapse-button'))];
179
+ case 3:
180
+ _a.sent();
181
+ expect(react_2.screen.queryByText('row 1 value 2')).not.toBeInTheDocument();
182
+ expect(react_2.screen.queryByText('row 1 value 3')).not.toBeInTheDocument();
183
+ return [4 /*yield*/, user.click((0, react_2.within)(getCellByIndexes(1, 0)).queryByTestId('collapse-button'))];
184
+ case 4:
185
+ _a.sent();
186
+ expect(react_2.screen.queryByText('row 2 value 2')).not.toBeInTheDocument();
187
+ unmockTableSizing();
188
+ return [2 /*return*/];
189
+ }
263
190
  });
264
- });
265
- it('should use default getRowCellHeight if it is not provided in props', function () {
266
- var props = {
267
- defaultColumnWidth: 100,
268
- defaultColumnMinWidth: 100,
269
- headRowHeight: 48,
270
- columnsData: [],
271
- rowsData: [],
272
- sorting: { field: 'column', order: 'asc' },
273
- onSort: jest.fn(),
274
- renderRowCell: jest.fn(),
275
- maxRowValuesCount: 3
276
- };
277
- (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
278
- expect(useCollapsibleTableRows_1.useCollapsibleTableRows).toHaveBeenCalledWith({
279
- rowsData: props.rowsData,
280
- columnsData: props.columnsData,
281
- renderRowCell: props.renderRowCell,
282
- getRowCellHeight: basicTable_1.defaultGetRowCellHeight,
283
- maxRowValuesCount: props.maxRowValuesCount
191
+ }); });
192
+ it('should collapse all rows after start dragging', function () { return __awaiter(void 0, void 0, void 0, function () {
193
+ var unmockTableSizing, mouse, user, dragIndicator;
194
+ return __generator(this, function (_a) {
195
+ switch (_a.label) {
196
+ case 0:
197
+ unmockTableSizing = (0, test_utils_1.mockBasicTableSizing)();
198
+ mouse = [
199
+ { clientX: 0, clientY: 0 },
200
+ { clientX: 20, clientY: 20 }
201
+ ];
202
+ user = setUp().user;
203
+ return [4 /*yield*/, user.click((0, react_2.within)(getCellByIndexes(0, 0)).queryByTestId('collapse-button'))];
204
+ case 1:
205
+ _a.sent();
206
+ return [4 /*yield*/, user.click((0, react_2.within)(getCellByIndexes(1, 0)).queryByTestId('collapse-button'))];
207
+ case 2:
208
+ _a.sent();
209
+ expect((0, react_2.within)(getCellByIndexes(0, 1)).queryByText('row 1 value 1')).toBeInTheDocument();
210
+ expect((0, react_2.within)(getCellByIndexes(0, 1)).queryByText('row 1 value 2')).toBeInTheDocument();
211
+ expect((0, react_2.within)(getCellByIndexes(0, 1)).queryByText('row 1 value 3')).toBeInTheDocument();
212
+ expect((0, react_2.within)(getCellByIndexes(1, 1)).queryByText('row 2 value 1')).toBeInTheDocument();
213
+ expect((0, react_2.within)(getCellByIndexes(1, 1)).queryByText('row 2 value 2')).toBeInTheDocument();
214
+ dragIndicator = (0, react_2.within)(getCellByIndexes(1, 0)).getByRole('button', { name: 'drag el' });
215
+ return [4 /*yield*/, (0, react_2.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
216
+ return __generator(this, function (_a) {
217
+ react_2.fireEvent.mouseDown(dragIndicator, mouse[0]);
218
+ react_2.fireEvent.mouseMove(dragIndicator, mouse[1]);
219
+ return [2 /*return*/];
220
+ });
221
+ }); })];
222
+ case 3:
223
+ _a.sent();
224
+ expect((0, react_2.within)(getCellByIndexes(0, 1)).queryByText('row 1 value 1')).toBeInTheDocument();
225
+ expect((0, react_2.within)(getCellByIndexes(0, 1)).queryByText('row 1 value 2')).not.toBeInTheDocument();
226
+ expect((0, react_2.within)(getCellByIndexes(0, 1)).queryByText('row 1 value 3')).not.toBeInTheDocument();
227
+ expect((0, react_2.within)(getCellByIndexes(1, 1)).queryByText('row 2 value 1')).toBeInTheDocument();
228
+ expect((0, react_2.within)(getCellByIndexes(1, 1)).queryByText('row 2 value 2')).not.toBeInTheDocument();
229
+ return [4 /*yield*/, (0, react_2.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
230
+ return __generator(this, function (_a) {
231
+ react_2.fireEvent.mouseUp(dragIndicator);
232
+ return [2 /*return*/];
233
+ });
234
+ }); })];
235
+ case 4:
236
+ _a.sent();
237
+ unmockTableSizing();
238
+ return [2 /*return*/];
239
+ }
284
240
  });
285
- });
286
- it('should use Infinity as maxRowValuesCount if it is not provided in props', function () {
287
- var props = {
288
- defaultColumnWidth: 100,
289
- defaultColumnMinWidth: 100,
290
- headRowHeight: 48,
291
- columnsData: [],
292
- rowsData: [],
293
- sorting: { field: 'column', order: 'asc' },
294
- onSort: jest.fn(),
295
- renderRowCell: jest.fn(),
296
- getRowCellHeight: jest.fn()
297
- };
298
- (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
299
- expect(useCollapsibleTableRows_1.useCollapsibleTableRows).toHaveBeenCalledWith({
300
- rowsData: props.rowsData,
301
- columnsData: props.columnsData,
302
- renderRowCell: props.renderRowCell,
303
- getRowCellHeight: props.getRowCellHeight,
304
- maxRowValuesCount: Infinity
241
+ }); });
242
+ it('should able to click on buttons in table head', function () { return __awaiter(void 0, void 0, void 0, function () {
243
+ var user;
244
+ return __generator(this, function (_a) {
245
+ switch (_a.label) {
246
+ case 0:
247
+ user = setUp().user;
248
+ expect(onHeadClickFn).not.toHaveBeenCalled();
249
+ return [4 /*yield*/, user.click(react_2.screen.getAllByRole('button', { name: columnsData[0].label })[1])];
250
+ case 1:
251
+ _a.sent();
252
+ expect(onHeadClickFn).toHaveBeenCalled();
253
+ return [2 /*return*/];
254
+ }
305
255
  });
306
- });
307
- it('should not render Table when columnsData is empty array', function () {
308
- jest.spyOn(dataHelpers, 'getTableHeadData').mockReturnValue([]);
309
- var props = {
310
- defaultColumnWidth: 100,
311
- defaultColumnMinWidth: 100,
312
- headRowHeight: 48,
313
- columnsData: [],
314
- filters: null,
315
- onFilter: jest.fn(),
316
- rowsData: [],
317
- sorting: { field: 'column', order: 'asc' },
318
- onSort: jest.fn(),
319
- renderRowCell: jest.fn(),
320
- getRowCellHeight: jest.fn(),
321
- context: { someKey: 'someValue' }
322
- };
323
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(BasicTable_1.BasicTable, __assign({}, props)));
324
- expect(wrapper.isEmptyRender()).toBe(true);
325
- });
256
+ }); });
326
257
  });
@@ -9,6 +9,6 @@ var styles_1 = require("./styles");
9
9
  var BlobRenderer = function (_a) {
10
10
  var value = _a.value;
11
11
  var styles = (0, styles_1.useStyles)();
12
- return (react_1.default.createElement("div", { className: styles.blobWrapper, onScroll: function (e) { return e.stopPropagation(); } }, value));
12
+ return (react_1.default.createElement("div", { "data-reltio-id": "blob-renderer", className: styles.blobWrapper, onScroll: function (e) { return e.stopPropagation(); } }, value));
13
13
  };
14
14
  exports.BlobRenderer = BlobRenderer;