@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
@@ -1,32 +1,122 @@
1
1
  "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
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 };
47
+ }
48
+ };
2
49
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
51
  };
5
52
  Object.defineProperty(exports, "__esModule", { value: true });
6
53
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
8
- var Tooltip_1 = __importDefault(require("@mui/material/Tooltip"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
9
56
  var HierarchicalAttributeTooltip_1 = require("./HierarchicalAttributeTooltip");
10
- describe('HierarchicalAttributeTooltip', function () {
11
- var children = react_1.default.createElement("div", null, "children");
12
- it('should render Tooltip over children with empty value if pathToTitle is empty array', function () {
13
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip, { pathToTitle: [] }, children));
14
- var tooltip = wrapper.find(Tooltip_1.default);
15
- expect(tooltip.prop('title')).toEqual('');
16
- expect(tooltip.prop('children')).toEqual(children);
17
- });
18
- it('should render Tooltip over children only with title if pathToTitle.length is 2', function () {
19
- var pathToTitle = ['HCP', 'Title'];
20
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip, { pathToTitle: pathToTitle }, children));
21
- var tooltip = wrapper.find(Tooltip_1.default);
22
- expect(tooltip.prop('title')).toMatchSnapshot();
23
- expect(tooltip.prop('children')).toEqual(children);
24
- });
25
- it('should render Tooltip over children only with path if pathToTitle.length more than 2', function () {
26
- var pathToTitle = ['HCP', 'Test', 'Title'];
27
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip, { pathToTitle: pathToTitle }, children));
28
- var tooltip = wrapper.find(Tooltip_1.default);
29
- expect(tooltip.prop('title')).toMatchSnapshot();
30
- expect(tooltip.prop('children')).toEqual(children);
31
- });
57
+ var defaultProps = {
58
+ children: react_1.default.createElement("div", null, "children"),
59
+ pathToTitle: []
60
+ };
61
+ var setUp = function (props) {
62
+ if (props === void 0) { props = defaultProps; }
63
+ var user = user_event_1.default.setup();
64
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(HierarchicalAttributeTooltip_1.HierarchicalAttributeTooltip, __assign({}, props)))), { user: user });
65
+ };
66
+ describe('Hierarchical attribute tooltip tests', function () {
67
+ it('should render children and tooltip correctly if pathToTitle is empty array', function () { return __awaiter(void 0, void 0, void 0, function () {
68
+ var user;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ user = setUp().user;
73
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('children'))];
74
+ case 1:
75
+ _a.sent();
76
+ expect(react_2.screen.queryByRole('tooltip')).not.toBeInTheDocument();
77
+ return [2 /*return*/];
78
+ }
79
+ });
80
+ }); });
81
+ it('should render children and tooltip correctly if pathToTitle.length is 2', function () { return __awaiter(void 0, void 0, void 0, function () {
82
+ var props, user, tooltip;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0:
86
+ props = __assign(__assign({}, defaultProps), { pathToTitle: ['HCP', 'Title'] });
87
+ user = setUp(props).user;
88
+ expect(react_2.screen.queryByRole('tooltip')).not.toBeInTheDocument();
89
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('children'))];
90
+ case 1:
91
+ _a.sent();
92
+ tooltip = react_2.screen.getByRole('tooltip');
93
+ (0, react_2.within)(tooltip).getByText('Title');
94
+ expect(react_2.screen.queryByRole('list')).not.toBeInTheDocument();
95
+ return [2 /*return*/];
96
+ }
97
+ });
98
+ }); });
99
+ it('should render children and tooltip correctly if pathToTitle.length more than 2', function () { return __awaiter(void 0, void 0, void 0, function () {
100
+ var props, user, tooltip, list, items;
101
+ return __generator(this, function (_a) {
102
+ switch (_a.label) {
103
+ case 0:
104
+ props = __assign(__assign({}, defaultProps), { pathToTitle: ['HCP', 'Test', 'Title'] });
105
+ user = setUp(props).user;
106
+ expect(react_2.screen.queryByRole('tooltip')).not.toBeInTheDocument();
107
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('children'))];
108
+ case 1:
109
+ _a.sent();
110
+ tooltip = react_2.screen.getByRole('tooltip');
111
+ list = (0, react_2.within)(tooltip).getByRole('list');
112
+ items = (0, react_2.within)(list).getAllByRole('listitem');
113
+ expect((0, react_2.within)(tooltip).getAllByText('Title')).toHaveLength(2);
114
+ expect(items).toHaveLength(3);
115
+ expect(items[0]).toHaveTextContent('HCP');
116
+ expect(items[1]).toHaveTextContent('Test');
117
+ expect(items[2]).toHaveTextContent('Title');
118
+ return [2 /*return*/];
119
+ }
120
+ });
121
+ }); });
32
122
  });
@@ -51,143 +51,104 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
53
  var react_1 = __importDefault(require("react"));
54
- var test_utils_1 = require("react-dom/test-utils");
55
- var enzyme_1 = require("enzyme");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
56
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
57
- var Link_1 = require("../Link");
58
- var Popper_1 = require("../Popper");
59
- var ProfileCard_1 = require("../ProfileCard");
60
57
  var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
61
58
  var HierarchyNodeTitle_1 = require("./HierarchyNodeTitle");
62
- jest.mock('../ProfileCard', function () { return ({ ProfileCard: function () { return null; } }); });
63
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getEntity: jest.fn() })); });
59
+ jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getEntity: jest.fn(), debounce: jest.fn() })); });
64
60
  var entity = {
65
61
  uri: 'entities/123',
62
+ label: 'perfect entity',
66
63
  type: 'configuration/entityTypes/HCP'
67
64
  };
68
65
  var defaultProps = {
69
66
  title: 'Title',
70
- isSelected: true,
67
+ isSelected: false,
71
68
  entityUri: 'entities/123',
72
69
  anchorEl: document.createElement('div')
73
70
  };
74
- var uiPath = 'http://localhost:3000/ui/sokol/';
75
- var openEntity = jest.fn();
76
- var setUp = function (props) {
77
- if (props === void 0) { props = defaultProps; }
78
- return (0, enzyme_1.mount)(react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: { uiPath: uiPath }, actions: { openEntity: openEntity } },
79
- react_1.default.createElement(HierarchyNodeTitle_1.HierarchyNodeTitle, __assign({}, props))));
71
+ var defaultMdmValues = { uiPath: 'http://localhost:3000/ui/sokol/', metadata: { entityTypes: [], relationTypes: [] } };
72
+ var defaultMdmActions = { openEntity: jest.fn() };
73
+ var setUp = function (_a) {
74
+ var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? defaultMdmValues : _d, _e = _b.mdmActions, mdmActions = _e === void 0 ? defaultMdmActions : _e;
75
+ var user = user_event_1.default.setup();
76
+ var Providers = function (_a) {
77
+ var children = _a.children;
78
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues, actions: mdmActions }, children));
79
+ };
80
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(HierarchyNodeTitle_1.HierarchyNodeTitle, __assign({}, props)), { wrapper: Providers })), { user: user });
80
81
  };
81
- describe('HierarchyNodeTitle tests', function () {
82
+ describe('Hierarchy node title tests', function () {
83
+ var resolveGetEntity;
82
84
  beforeEach(function () {
83
- mdm_sdk_1.getEntity.mockResolvedValue(entity);
85
+ mdm_sdk_1.debounce.mockImplementation(function (fn) { return jest.requireActual('@reltio/mdm-sdk').debounce(fn, 0); });
86
+ mdm_sdk_1.getEntity.mockImplementation(function () {
87
+ return new Promise(function (resolve) {
88
+ resolveGetEntity = resolve;
89
+ });
90
+ });
84
91
  });
85
92
  afterEach(function () {
86
93
  jest.clearAllMocks();
87
94
  });
88
- it('should pass correct className to link if isSelected prop is true', function () {
89
- var props = __assign(__assign({}, defaultProps), { isSelected: true });
90
- var component = setUp(props);
91
- expect(component.find('span.link').prop('className')).toBe('link selected');
92
- });
93
95
  it('should pass correct className to link if isSelected prop is false', function () {
94
- var props = __assign(__assign({}, defaultProps), { isSelected: false });
95
- var component = setUp(props);
96
- expect(component.find('span.link').prop('className')).toBe('link');
96
+ setUp();
97
+ expect(react_2.screen.getByTestId('reltio-hierarchy-node-title')).not.toHaveClass('selected');
97
98
  });
98
- it('should render Link with correct props', function () {
99
- var component = setUp();
100
- expect(component.find(Link_1.Link).prop('to')).toBe('http://localhost:3000/ui/sokol/#p~com.reltio.plugins.entity.default.DefaultPerspective_e~entities/123');
101
- expect(component.find(Link_1.Link).prop('children')).toBe(defaultProps.title);
102
- });
103
- it('click by link should dispatch correct action', function () {
104
- var component = setUp();
105
- var onClick = component.find(Link_1.Link).prop('onClick');
106
- (0, test_utils_1.act)(function () {
107
- if (onClick) {
108
- onClick();
109
- }
110
- });
111
- expect(openEntity).toHaveBeenCalledWith({ uri: defaultProps.entityUri });
99
+ it('should pass correct className to link if isSelected prop is true', function () {
100
+ var props = __assign(__assign({}, defaultProps), { isSelected: true });
101
+ setUp({ props: props });
102
+ expect(react_2.screen.getByTestId('reltio-hierarchy-node-title')).toHaveClass('selected');
112
103
  });
113
- it('should show entity details if cursor was hovered on node', function () { return __awaiter(void 0, void 0, void 0, function () {
114
- var component, onMouseEnter;
104
+ it('should render link correctly and dispatch correct action on click it', function () { return __awaiter(void 0, void 0, void 0, function () {
105
+ var user, link;
115
106
  return __generator(this, function (_a) {
116
107
  switch (_a.label) {
117
108
  case 0:
118
- jest.useFakeTimers();
119
- component = setUp();
120
- expect(component.find(Popper_1.Popper).prop('open')).toBe(false);
121
- expect(component.find(ProfileCard_1.ProfileCard)).toHaveLength(0);
122
- onMouseEnter = component.find('span.link').prop('onMouseEnter');
123
- (0, test_utils_1.act)(function () {
124
- if (onMouseEnter)
125
- onMouseEnter(null);
126
- });
127
- component.update();
128
- expect(component.find(Popper_1.Popper).prop('open')).toBe(false);
129
- expect(component.find(ProfileCard_1.ProfileCard)).toHaveLength(0);
130
- (0, test_utils_1.act)(function () {
131
- jest.runAllTimers();
132
- });
133
- component.update();
134
- expect(component.find(Popper_1.Popper).prop('open')).toBe(true);
135
- expect(component.find(ProfileCard_1.ProfileCard).props()).toMatchObject({
136
- entity: null,
137
- variant: 'loading'
138
- });
139
- expect(mdm_sdk_1.getEntity).toHaveBeenCalledWith(defaultProps.entityUri);
140
- return [4 /*yield*/, (0, test_utils_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
141
- return __generator(this, function (_a) {
142
- return [2 /*return*/, Promise.resolve()];
143
- });
144
- }); })];
109
+ user = setUp().user;
110
+ link = react_2.screen.getByText('Title');
111
+ expect(link).toHaveAttribute('href', 'http://localhost:3000/ui/sokol/#p~com.reltio.plugins.entity.default.DefaultPerspective_e~entities/123');
112
+ return [4 /*yield*/, user.click(link)];
145
113
  case 1:
146
114
  _a.sent();
147
- component.update();
148
- expect(component.find(Popper_1.Popper).prop('open')).toBe(true);
149
- expect(component.find(ProfileCard_1.ProfileCard).props()).toMatchObject({
150
- entity: entity,
151
- variant: 'normal'
152
- });
153
- jest.useRealTimers();
115
+ expect(defaultMdmActions.openEntity).toHaveBeenCalledWith({ uri: 'entities/123' });
154
116
  return [2 /*return*/];
155
117
  }
156
118
  });
157
119
  }); });
158
- it('should hide entity details if cursor was removed from node', function () { return __awaiter(void 0, void 0, void 0, function () {
159
- var component, onMouseEnter, onMouseLeave;
120
+ it('should show and hide entity details correctly on node hover', function () { return __awaiter(void 0, void 0, void 0, function () {
121
+ var user, tooltip;
160
122
  return __generator(this, function (_a) {
161
123
  switch (_a.label) {
162
124
  case 0:
163
- jest.useFakeTimers();
164
- component = setUp();
165
- onMouseEnter = component.find('span.link').prop('onMouseEnter');
166
- return [4 /*yield*/, (0, test_utils_1.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
125
+ user = setUp().user;
126
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('Title'))];
127
+ case 1:
128
+ _a.sent();
129
+ tooltip = react_2.screen.getByRole('tooltip');
130
+ (0, react_2.within)(tooltip).getByTestId('profile-card-placeholder-avatar');
131
+ (0, react_2.within)(tooltip).getByTestId('profile-card-placeholder-info');
132
+ return [4 /*yield*/, (0, react_2.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
167
133
  return __generator(this, function (_a) {
168
- if (onMouseEnter)
169
- onMouseEnter(null);
170
- jest.runAllTimers();
171
- return [2 /*return*/, Promise.resolve()];
134
+ switch (_a.label) {
135
+ case 0: return [4 /*yield*/, resolveGetEntity(entity)];
136
+ case 1:
137
+ _a.sent();
138
+ return [2 /*return*/];
139
+ }
172
140
  });
173
141
  }); })];
174
- case 1:
142
+ case 2:
143
+ _a.sent();
144
+ (0, react_2.within)(tooltip).getByAltText('fallback entity avatar');
145
+ (0, react_2.within)(tooltip).getByText('perfect entity');
146
+ (0, react_2.within)(tooltip).getByText('ID:');
147
+ (0, react_2.within)(tooltip).getByText('123');
148
+ return [4 /*yield*/, user.unhover(react_2.screen.getByText('Title'))];
149
+ case 3:
175
150
  _a.sent();
176
- component.update();
177
- expect(component.find(Popper_1.Popper).prop('open')).toBe(true);
178
- expect(component.find(ProfileCard_1.ProfileCard).props()).toMatchObject({
179
- entity: entity,
180
- variant: 'normal'
181
- });
182
- onMouseLeave = component.find('span.link').prop('onMouseLeave');
183
- (0, test_utils_1.act)(function () {
184
- if (onMouseLeave)
185
- onMouseLeave(null);
186
- });
187
- component.update();
188
- expect(component.find(Popper_1.Popper).prop('open')).toBe(false);
189
- expect(component.find(ProfileCard_1.ProfileCard)).toHaveLength(0);
190
- jest.useRealTimers();
151
+ expect(tooltip).not.toBeInTheDocument();
191
152
  return [2 /*return*/];
192
153
  }
193
154
  });
@@ -52,9 +52,9 @@ var OvIcon = function (_a) {
52
52
  return null;
53
53
  }
54
54
  var tooltipTitle = nonOvValues.length
55
- ? nonOvValues.map(function (value, i) { return (react_1.default.createElement("div", { key: i }, (0, mdm_sdk_1.isComplexAttribute)(attributeType) ? ((0, mdm_sdk_1.getLabel)(value.label)) : (react_1.default.createElement(DataTypeValue_1.DataTypeValue, { value: (0, mdm_sdk_1.getAttributeValue)(value), dataTypeDefinition: (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType), rich: false })))); })
55
+ ? nonOvValues.map(function (value, i) { return (react_1.default.createElement("div", { "data-reltio-id": "non-ov-value", key: i }, (0, mdm_sdk_1.isComplexAttribute)(attributeType) ? ((0, mdm_sdk_1.getLabel)(value.label)) : (react_1.default.createElement(DataTypeValue_1.DataTypeValue, { value: (0, mdm_sdk_1.getAttributeValue)(value), dataTypeDefinition: (0, mdm_sdk_1.getAttrDataTypeDefinition)(attributeType), rich: false })))); })
56
56
  : null;
57
- return (react_1.default.createElement(exports.ChipWithTooltip, { tooltipTitle: tooltipTitle, tooltipPlacement: "bottom", label: "+ ".concat(nonOvTotal), variant: "outlined", onClick: (linkedEntity === null || linkedEntity === void 0 ? void 0 : linkedEntity.uri) && isSourcesScreenEnabled ? onClick : undefined, classes: {
57
+ return (react_1.default.createElement(exports.ChipWithTooltip, { "data-reltio-id": "ov-icon", tooltipTitle: tooltipTitle, tooltipPlacement: "bottom", label: "+ ".concat(nonOvTotal), variant: "outlined", onClick: (linkedEntity === null || linkedEntity === void 0 ? void 0 : linkedEntity.uri) && isSourcesScreenEnabled ? onClick : undefined, classes: {
58
58
  root: (0, classnames_1.default)(styles.container, className),
59
59
  label: styles.label
60
60
  } }));
@@ -10,8 +10,8 @@ var styles_1 = require("./styles");
10
10
  var ProfileCardPlaceholder = function () {
11
11
  var styles = (0, styles_1.useStyles)();
12
12
  return (react_1.default.createElement(react_1.default.Fragment, null,
13
- react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.avatar, styles.wave) }),
14
- react_1.default.createElement("div", { className: styles.info },
13
+ react_1.default.createElement("div", { "data-reltio-id": "profile-card-placeholder-avatar", className: (0, classnames_1.default)(styles.avatar, styles.wave) }),
14
+ react_1.default.createElement("div", { "data-reltio-id": "profile-card-placeholder-info", className: styles.info },
15
15
  react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.label, styles.wave) }),
16
16
  react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.secondaryLabel, styles.wave) }),
17
17
  react_1.default.createElement("div", { className: (0, classnames_1.default)(styles.thirdRow, styles.wave) }))));
@@ -12,7 +12,7 @@ var styles_1 = require("./styles");
12
12
  var ShowLess = function (_a) {
13
13
  var onClick = _a.onClick;
14
14
  var styles = (0, styles_1.useStyles)();
15
- return (react_1.default.createElement(Link_1.default, { component: "button", variant: "caption", className: styles.link, onClick: onClick, underline: "none" },
15
+ return (react_1.default.createElement(Link_1.default, { "data-reltio-id": "show-less", component: "button", variant: "caption", className: styles.link, onClick: onClick, underline: "none" },
16
16
  react_1.default.createElement(KeyboardArrowUp_1.default, { className: styles.icon }),
17
17
  ui_i18n_1.default.text('Show less')));
18
18
  };
@@ -135,11 +135,11 @@ var SimpleAttributeEditor = function (_a) {
135
135
  attributeTypeUri: attributeType === null || attributeType === void 0 ? void 0 : attributeType.uri,
136
136
  valueUri: attributeValue.uri
137
137
  }).autopopulationContextValue;
138
- return (react_1.default.createElement("div", { ref: ref, className: (0, classnames_1.default)(styles.editor, className, errorClassName) },
138
+ return (react_1.default.createElement("div", { ref: ref, "data-reltio-id": "simple-attribute-editor", className: (0, classnames_1.default)(styles.editor, className, errorClassName) },
139
139
  react_1.default.createElement(ErrorWrapper_1.ErrorWrapper, { errorMessage: errorMessage, className: styles.errorWrapper },
140
140
  react_1.default.createElement("div", { className: (0, classnames_1.default)(styles['editor-value'], (_b = {}, _b[styles.deleted] = deleted, _b), (_c = {}, _c[styles['editor-read-only-value']] = !showToEdit, _c)), "data-reltio-id": "reltio-attribute-value" }, showToEdit ? (react_1.default.createElement(DependentLookupAutopopulationContext_1.DependentLookupAutopopulationContext.Provider, { value: autopopulationContextValue },
141
141
  react_1.default.createElement(DataTypeValueEditor_1.DataTypeValueEditor, __assign({ fieldName: (0, mdm_sdk_1.attributeUriToSearchUri)(attributeType.uri), value: value, dataTypeDefinition: dataTypeDefinition, error: hasError, onChange: onValueEditorChange, fullWidth: true }, dependentLookupEditorContext, otherProps, deletedProps)))) : (react_1.default.createElement(DataTypeValue_1.DataTypeValue, { value: (0, mdm_sdk_1.getAttributeValue)(attributeValue), dataTypeDefinition: dataTypeDefinition })))),
142
- react_1.default.createElement("div", { className: styles['editor-actions'] },
142
+ react_1.default.createElement("div", { "data-reltio-id": "reltio-attribute-actions", className: styles['editor-actions'] },
143
143
  edited && (react_1.default.createElement(Typography_1.default, { variant: "caption", className: styles.editedLabel },
144
144
  "(",
145
145
  ui_i18n_1.default.text('edited'),
@@ -51,6 +51,6 @@ var UploadMode = function (_a) {
51
51
  };
52
52
  return (react_1.default.createElement(react_1.default.Fragment, null,
53
53
  react_1.default.createElement(Button_1.default, { variant: "contained", onClick: onSelectFileClick, className: styles.button }, ui_i18n_1.default.text('Select File')),
54
- react_1.default.createElement("input", { type: "file", className: styles.fileUploaderInput, onChange: onUploadListener, ref: fileUploader, name: "uploadfile", accept: supportedFileTypesString })));
54
+ react_1.default.createElement("input", { "data-reltio-id": "file-uploader", type: "file", className: styles.fileUploaderInput, onChange: onUploadListener, ref: fileUploader, name: "uploadfile", accept: supportedFileTypesString })));
55
55
  };
56
56
  exports.UploadMode = UploadMode;
@@ -4,32 +4,39 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  var react_1 = __importDefault(require("react"));
7
- var enzyme_1 = require("enzyme");
7
+ var react_hooks_1 = require("@testing-library/react-hooks");
8
8
  var index_1 = require("./index");
9
- describe('useAttributeExpanded tests', function () {
10
- var TestComponent = function (_a) {
11
- var attributeUri = _a.attributeUri;
12
- var expanded = (0, index_1.useAttributeExpanded)(attributeUri);
13
- return react_1.default.createElement("div", { "data-test": { expanded: expanded } });
9
+ var setUp = function (attributeUri, attributeUris) {
10
+ var DefaultProviders = function (_a) {
11
+ var children = _a.children;
12
+ return (react_1.default.createElement(index_1.ExpandedAttributesProvider, { attributeUris: attributeUris }, children));
14
13
  };
15
- var getHooksValues = function (component) { return component.find('TestComponent').childAt(0).prop('data-test'); };
14
+ return (0, react_hooks_1.renderHook)(function (_a) {
15
+ var attributeUri = _a.attributeUri;
16
+ return (0, index_1.useAttributeExpanded)(attributeUri);
17
+ }, {
18
+ initialProps: { attributeUri: attributeUri },
19
+ wrapper: attributeUris ? DefaultProviders : function (_a) {
20
+ var children = _a.children;
21
+ return react_1.default.createElement(react_1.default.Fragment, null, children);
22
+ }
23
+ });
24
+ };
25
+ describe('useAttributeExpanded tests', function () {
16
26
  it('should return false if no expanded context present', function () {
17
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Simple/1' }));
18
- expect(getHooksValues(wrapper).expanded).toBe(false);
27
+ var result = setUp('entities/1/attributes/Simple/1').result;
28
+ expect(result.current).toBe(false);
19
29
  });
20
30
  it('should return false if no attributes in expanded context', function () {
21
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(index_1.ExpandedAttributesProvider, { attributeUris: [] },
22
- react_1.default.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Nested/1' })));
23
- expect(getHooksValues(wrapper).expanded).toBe(false);
31
+ var result = setUp('entities/1/attributes/Nested/1', []).result;
32
+ expect(result.current).toBe(false);
24
33
  });
25
34
  it('should return true if attribute in expanded context', function () {
26
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(index_1.ExpandedAttributesProvider, { attributeUris: ['entities/1/attributes/Nested/1'] },
27
- react_1.default.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Nested/1' })));
28
- expect(getHooksValues(wrapper).expanded).toBe(true);
35
+ var result = setUp('entities/1/attributes/Nested/1', ['entities/1/attributes/Nested/1']).result;
36
+ expect(result.current).toBe(true);
29
37
  });
30
38
  it('should return true if subnested attribute in expanded context', function () {
31
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(index_1.ExpandedAttributesProvider, { attributeUris: ['entities/1/attributes/Nested/1/SubNested/1'] },
32
- react_1.default.createElement(TestComponent, { attributeUri: 'entities/1/attributes/Nested/1' })));
33
- expect(getHooksValues(wrapper).expanded).toBe(true);
39
+ var result = setUp('entities/1/attributes/Nested/1', ['entities/1/attributes/Nested/1/SubNested/1']).result;
40
+ expect(result.current).toBe(true);
34
41
  });
35
42
  });
@@ -143,5 +143,5 @@ export declare const useMdmListener: <T extends keyof MdmModuleListenersContextP
143
143
  cleanseLoadingListener: (callback: (value: boolean) => void) => (action: import("../..").AnyAction) => void;
144
144
  searchNavigationListener: (action: import("../..").AnyAction, state: any, dispatch: (action: import("../..").AnyAction) => void) => void;
145
145
  }>[T];
146
- export declare const useMdmHiddenAttributes: () => {};
147
- export declare const useMdmControlAttributes: () => any[];
146
+ export declare const useMdmHiddenAttributes: () => Record<string, string[]>;
147
+ export declare const useMdmControlAttributes: () => string[];
@@ -1,61 +1,24 @@
1
1
  "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
4
  };
28
5
  Object.defineProperty(exports, "__esModule", { value: true });
29
- var enzyme_1 = require("enzyme");
30
- var prop_types_1 = __importDefault(require("prop-types"));
31
- var react_1 = __importStar(require("react"));
32
- var test_utils_1 = require("react-dom/test-utils");
6
+ var react_hooks_1 = require("@testing-library/react-hooks");
7
+ var react_1 = __importDefault(require("react"));
33
8
  var index_1 = require("./index");
34
- var EmptyStub = function (_props) { return null; };
35
- describe('ReloadDataContext suite', function () {
36
- var TestComponent = function (_a) {
37
- var fn = _a.fn;
38
- var _b = (0, index_1.useReloadData)(), reloadData = _b.reloadData, addReloadHandler = _b.addReloadHandler;
39
- (0, react_1.useEffect)(function () {
40
- addReloadHandler(fn);
41
- }, [fn, addReloadHandler]);
42
- return react_1.default.createElement(EmptyStub, { onClick: reloadData });
43
- };
44
- TestComponent.propTypes = {
45
- fn: prop_types_1.default.func
46
- };
47
- var getStubComponent = function (wrapper) { return wrapper.find(EmptyStub); };
48
- it('should call the handler which was passed into context on reloadData call', function () {
49
- var fn = jest.fn();
50
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(index_1.ReloadDataProvider, null,
51
- react_1.default.createElement(TestComponent, { fn: fn })));
52
- var emptyStub = getStubComponent(wrapper);
53
- (0, test_utils_1.act)(function () {
54
- emptyStub.prop('onClick')();
55
- });
56
- (0, test_utils_1.act)(function () {
57
- wrapper.update();
58
- });
59
- expect(fn).toHaveBeenCalled();
9
+ describe('ReloadDataContext tests', function () {
10
+ it('should add reload handlers, remove reload handlers and reload data correctly', function () {
11
+ var Providers = function (_a) {
12
+ var children = _a.children;
13
+ return (react_1.default.createElement(index_1.ReloadDataProvider, null, children));
14
+ };
15
+ var result = (0, react_hooks_1.renderHook)(index_1.useReloadData, { wrapper: Providers }).result;
16
+ var handler = jest.fn();
17
+ result.current.addReloadHandler(handler);
18
+ result.current.reloadData();
19
+ expect(handler).toHaveBeenCalledTimes(1);
20
+ result.current.removeReloadHandler(handler);
21
+ result.current.reloadData();
22
+ expect(handler).toHaveBeenCalledTimes(1);
60
23
  });
61
24
  });
@@ -6,12 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.TestStylesProvider = void 0;
7
7
  var react_1 = __importDefault(require("react"));
8
8
  var jss_1 = require("jss");
9
- var StylesProvider_1 = __importDefault(require("@mui/styles/StylesProvider"));
10
- var styles_1 = require("@mui/material/styles");
9
+ var styles_1 = require("@mui/styles");
10
+ var styles_2 = require("@mui/material/styles");
11
11
  var TestStylesProvider = function (_a) {
12
12
  var children = _a.children;
13
13
  var jss = (0, jss_1.create)();
14
- var muiTheme = (0, styles_1.createTheme)({});
14
+ var muiTheme = (0, styles_2.createTheme)({});
15
+ var generateClassName = (0, styles_1.createGenerateClassName)({ productionPrefix: '', disableGlobal: false });
15
16
  jss.use({
16
17
  onProcessStyle: function (style) { return ({
17
18
  display: style.display,
@@ -19,7 +20,7 @@ var TestStylesProvider = function (_a) {
19
20
  'pointer-events': style['pointer-events']
20
21
  }); }
21
22
  });
22
- return (react_1.default.createElement(styles_1.ThemeProvider, { theme: muiTheme },
23
- react_1.default.createElement(StylesProvider_1.default, { jss: jss }, children)));
23
+ return (react_1.default.createElement(styles_2.ThemeProvider, { theme: muiTheme },
24
+ react_1.default.createElement(styles_1.StylesProvider, { jss: jss, generateClassName: function (rule, styleSheet) { return rule.key || generateClassName(rule, styleSheet); } }, children)));
24
25
  };
25
26
  exports.TestStylesProvider = TestStylesProvider;