@reltio/components 1.4.2045 → 1.4.2047

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 (181) 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/InlineSimpleAttribute/InlineSimpleAttribute.js +4 -1
  42. package/OvIcon/OvIcon.js +2 -2
  43. package/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  44. package/ShowLess/ShowLess.js +1 -1
  45. package/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  46. package/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  47. package/cjs/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  48. package/cjs/BasicTable/BasicTable.test.js +230 -299
  49. package/cjs/BlobRenderer/BlobRenderer.js +1 -1
  50. package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  51. package/cjs/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  52. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  53. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  54. package/cjs/DeleteButton/DeleteButton.spec.js +53 -15
  55. package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +569 -821
  56. package/cjs/Drawer/Drawer.test.js +10 -21
  57. package/cjs/DropDownEditor/DropDownEditor.test.js +81 -29
  58. package/cjs/DropDownMenuButton/DropDownMenuButton.spec.js +102 -71
  59. package/cjs/DropDownSelector/DropDownSelector.test.js +159 -30
  60. package/cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.js +148 -0
  61. package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  62. package/cjs/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  63. package/cjs/EditModeAttributesList/attributes.test-data.js +1 -1
  64. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +696 -232
  65. package/cjs/EditModeAttributesPager/helpers.test.js +2 -12
  66. package/cjs/EditModeAttributesView/EditModeAttributesView.test.js +262 -156
  67. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  68. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.test.js +312 -297
  69. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  70. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  71. package/cjs/EmptyState/EmptyState.test.js +98 -37
  72. package/cjs/EntityCreator/EntityCreator.test.js +69 -36
  73. package/cjs/EntitySelector/EntitySelector.js +1 -1
  74. package/cjs/EntitySelector/EntitySelector.test.js +274 -421
  75. package/cjs/EntityTypeIcon/EntityTypeIcon.test.js +17 -17
  76. package/cjs/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  77. package/cjs/ErrorBoundary/ErrorBoundary.test.js +19 -17
  78. package/cjs/ErrorMessage/ErrorMessage.js +1 -1
  79. package/cjs/ErrorPopup/ErrorPopup.test.js +71 -24
  80. package/cjs/ErrorWrapper/ErrorWrapper.test.js +10 -9
  81. package/cjs/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  82. package/cjs/FileTypeEditor/FileTypeEditor.test.js +95 -64
  83. package/cjs/FilterValueEditor/FilterValueEditor.test.js +182 -156
  84. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  85. package/cjs/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  86. package/cjs/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  87. package/cjs/InlineSimpleAttribute/InlineSimpleAttribute.js +4 -1
  88. package/cjs/OvIcon/OvIcon.js +2 -2
  89. package/cjs/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  90. package/cjs/ShowLess/ShowLess.js +1 -1
  91. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  92. package/cjs/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  93. package/cjs/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  94. package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -2
  95. package/cjs/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -53
  96. package/cjs/features/crosswalks/CrosswalkRow/CrosswalkRow.js +1 -1
  97. package/cjs/features/crosswalks/CrosswalkRow/styles.js +4 -1
  98. package/cjs/test-utils/TestStylesProvider.js +6 -5
  99. package/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  100. package/contexts/MdmModuleContext/hooks.d.ts +2 -2
  101. package/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -30
  102. package/features/crosswalks/CrosswalkRow/CrosswalkRow.js +1 -1
  103. package/features/crosswalks/CrosswalkRow/styles.js +4 -1
  104. package/package.json +1 -1
  105. package/test-utils/TestStylesProvider.js +3 -2
  106. package/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -101
  107. package/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -106
  108. package/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  109. package/BasicTable/IntegrationBasicTable.test.js +0 -203
  110. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  111. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -137
  112. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  113. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -32
  114. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  115. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -106
  116. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  117. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -338
  118. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  119. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -225
  120. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  121. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -47
  122. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  123. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -204
  124. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  125. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -246
  126. package/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  127. package/EditModeAttributesView/metadata.test-data.js +0 -119
  128. package/EntityCreator/entityType.test-data.d.ts +0 -52
  129. package/EntityCreator/entityType.test-data.js +0 -188
  130. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  131. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -27
  132. package/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  133. package/EntitySelector/components/EntityOption/EntityOption.test.js +0 -79
  134. package/EntitySelector/components/Group/Group.test.d.ts +0 -1
  135. package/EntitySelector/components/Group/Group.test.js +0 -65
  136. package/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  137. package/EntitySelector/components/SingleValue/SingleValue.test.js +0 -78
  138. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  139. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -76
  140. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts +0 -1
  141. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -106
  142. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts +0 -1
  143. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -111
  144. package/cjs/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  145. package/cjs/BasicTable/IntegrationBasicTable.test.js +0 -208
  146. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  147. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -142
  148. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  149. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -37
  150. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  151. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -111
  152. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  153. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -343
  154. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  155. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -230
  156. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  157. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -52
  158. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  159. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -209
  160. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  161. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -251
  162. package/cjs/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  163. package/cjs/EditModeAttributesView/metadata.test-data.js +0 -123
  164. package/cjs/EntityCreator/entityType.test-data.d.ts +0 -52
  165. package/cjs/EntityCreator/entityType.test-data.js +0 -191
  166. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  167. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -32
  168. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  169. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.js +0 -84
  170. package/cjs/EntitySelector/components/Group/Group.test.d.ts +0 -1
  171. package/cjs/EntitySelector/components/Group/Group.test.js +0 -70
  172. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  173. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.js +0 -83
  174. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  175. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -81
  176. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  177. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -104
  178. package/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  179. package/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -99
  180. /package/{AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts → EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
  181. /package/{AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts → cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
@@ -4,32 +4,21 @@ 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");
8
- var test_utils_1 = require("react-dom/test-utils");
7
+ var react_2 = require("@testing-library/react");
9
8
  var Drawer_1 = require("./Drawer");
10
- describe('Drawer', function () {
11
- it('renders children when open', function () {
12
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(Drawer_1.Drawer, { open: true, variant: "persistent" },
13
- react_1.default.createElement("div", { className: "SOME_INNER_CONTENTS" })));
14
- expect(wrapper.find('.SOME_INNER_CONTENTS')).toHaveLength(1);
15
- });
16
- it('not renders children when open === false', function () {
17
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(Drawer_1.Drawer, { open: false, variant: "persistent" },
18
- react_1.default.createElement("div", { className: "SOME_INNER_CONTENTS" })));
19
- expect(wrapper.find('.SOME_INNER_CONTENTS')).toHaveLength(0);
20
- });
9
+ describe('Drawer tests', function () {
21
10
  it('unmounts children only after timeout', function () {
22
11
  jest.useFakeTimers();
23
- var wrapper = (0, enzyme_1.mount)(react_1.default.createElement(Drawer_1.Drawer, { open: true, variant: "persistent" },
24
- react_1.default.createElement("div", { className: "SOME_INNER_CONTENTS" })));
25
- expect(wrapper.find('.SOME_INNER_CONTENTS')).toHaveLength(1);
26
- wrapper.setProps({ open: false });
27
- expect(wrapper.find('.SOME_INNER_CONTENTS')).toHaveLength(1);
28
- (0, test_utils_1.act)(function () {
12
+ var rerender = (0, react_2.render)(react_1.default.createElement(Drawer_1.Drawer, { open: true },
13
+ react_1.default.createElement("div", null, "Content"))).rerender;
14
+ react_2.screen.getByText('Content');
15
+ rerender(react_1.default.createElement(Drawer_1.Drawer, { open: false },
16
+ react_1.default.createElement("div", null, "Content")));
17
+ react_2.screen.getByText('Content');
18
+ (0, react_2.act)(function () {
29
19
  jest.runAllTimers();
30
- wrapper.update();
31
- expect(wrapper.find('.SOME_INNER_CONTENTS')).toHaveLength(0);
32
20
  });
21
+ expect(react_2.screen.queryByText('Content')).not.toBeInTheDocument();
33
22
  jest.useRealTimers();
34
23
  });
35
24
  });
@@ -1,38 +1,90 @@
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 build_1 = require("enzyme/build");
8
- var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
9
- var MultipliableSelect_1 = require("../MultipliableSelect");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
10
56
  var DropDownEditor_1 = require("./DropDownEditor");
11
- describe('DropDownEditor', function () {
12
- it('should render MultipliableSelect with entries as options', function () {
13
- var entries = [
14
- { value: 'Enum1', label: '1' },
15
- { value: 'Enum2', label: '2' },
16
- { value: 'Enum3', label: '3' }
17
- ];
18
- var value = 'Enum2';
19
- var wrapper = (0, build_1.shallow)(react_1.default.createElement(DropDownEditor_1.DropDownEditor, { value: value, entries: entries, classes: { menuItem: 'menuItemClassName' } }));
20
- expect(wrapper.find(MultipliableSelect_1.MultipliableSelect).prop('value')).toBe(value);
21
- wrapper.find(MenuItem_1.default).forEach(function (n, i) {
22
- expect(n.prop('value')).toBe(entries[i].value);
23
- expect(n.prop('children')).toBe(entries[i].label);
24
- expect(n.prop('className')).toBe('menuItemClassName');
57
+ describe('Dropdown editor tests', function () {
58
+ it('should render and work correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
59
+ var user, props, options;
60
+ return __generator(this, function (_a) {
61
+ switch (_a.label) {
62
+ case 0:
63
+ user = user_event_1.default.setup();
64
+ props = {
65
+ entries: [
66
+ { value: 'value1', label: 'first value' },
67
+ { value: 'value2', label: 'second value' },
68
+ { value: 'value3' }
69
+ ],
70
+ value: 'value2',
71
+ onChange: jest.fn()
72
+ };
73
+ (0, react_2.render)(react_1.default.createElement(DropDownEditor_1.DropDownEditor, __assign({}, props)));
74
+ return [4 /*yield*/, user.click(react_2.screen.getByText('second value'))];
75
+ case 1:
76
+ _a.sent();
77
+ options = react_2.screen.getAllByRole('option');
78
+ expect(options).toHaveLength(3);
79
+ expect(options[0]).toHaveTextContent('first value');
80
+ expect(options[1]).toHaveTextContent('second value');
81
+ expect(options[2]).toHaveTextContent('value3');
82
+ return [4 /*yield*/, user.click(options[0])];
83
+ case 2:
84
+ _a.sent();
85
+ expect(props.onChange).toHaveBeenCalledWith('value1');
86
+ return [2 /*return*/];
87
+ }
25
88
  });
26
- });
27
- it('should call props.onChange with new value', function () {
28
- var entries = [
29
- { value: 'Enum1', label: '1' },
30
- { value: 'Enum2', label: '2' },
31
- { value: 'Enum3', label: '3' }
32
- ];
33
- var onChange = jest.fn(), value = 'Enum2';
34
- var wrapper = (0, build_1.shallow)(react_1.default.createElement(DropDownEditor_1.DropDownEditor, { onChange: onChange, entries: entries }));
35
- wrapper.find(MultipliableSelect_1.MultipliableSelect).simulate('change', value);
36
- expect(onChange).toHaveBeenCalledWith(value);
37
- });
89
+ }); });
38
90
  });
@@ -1,81 +1,112 @@
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 Menu_1 = __importDefault(require("@mui/material/Menu"));
9
- var test_utils_1 = require("react-dom/test-utils");
10
- var Button_1 = __importDefault(require("@mui/material/Button"));
11
- var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
12
56
  var DropDownMenuButton_1 = require("../DropDownMenuButton");
13
- describe('DropDownMenuButton test', function () {
14
- var menuItems = [
15
- {
16
- text: 'Disabled custom action',
17
- disabled: true,
18
- tooltip: 'Disabled custom tooltip',
19
- onClick: jest.fn()
20
- },
21
- {
22
- text: 'Custom action',
23
- disabled: false,
24
- tooltip: 'Custom tooltip',
25
- onClick: jest.fn()
26
- }
27
- ];
28
- var getMenuItems = function (component, wantedItems) {
29
- return component.find(MenuItem_1.default).filterWhere(function (element) { return wantedItems.includes(element.children().text()); });
30
- };
31
- it('should render all components', function () {
32
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownMenuButton_1.DropDownMenuButton, { menuId: 'test', buttonContent: 'test', menuItems: menuItems }));
33
- expect(component.find(Button_1.default)).toHaveLength(1);
34
- expect(component.find(Menu_1.default)).toHaveLength(1);
35
- expect(component.find('DefaultMenuItemRenderer')).toHaveLength(2);
36
- });
37
- it('should open/close menu after click on button', function () {
38
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownMenuButton_1.DropDownMenuButton, { menuId: 'test', buttonContent: 'test' }));
39
- expect(component.find(Menu_1.default).prop('open')).toBeFalsy();
40
- (0, test_utils_1.act)(function () {
41
- component.find(Button_1.default).simulate('click');
42
- });
43
- component.update();
44
- expect(component.find(Menu_1.default).prop('open')).toBeTruthy();
45
- (0, test_utils_1.act)(function () {
46
- component.find(Button_1.default).simulate('click');
47
- });
48
- component.update();
49
- expect(component.find(Menu_1.default).prop('open')).toBeFalsy();
50
- });
51
- it('should call onMenuOpen/onMenuClose props after click on button', function () {
52
- var onMenuOpen = jest.fn();
53
- var onMenuClose = jest.fn();
54
- var component = (0, enzyme_1.mount)(react_1.default.createElement(DropDownMenuButton_1.DropDownMenuButton, { menuId: 'test', buttonContent: 'test', onMenuOpen: onMenuOpen, onMenuClose: onMenuClose }));
55
- expect(onMenuOpen).not.toHaveBeenCalled();
56
- expect(onMenuClose).not.toHaveBeenCalled();
57
- (0, test_utils_1.act)(function () {
58
- component.find(Button_1.default).find('button').simulate('click');
59
- });
60
- expect(onMenuOpen).toHaveBeenCalled();
61
- expect(onMenuClose).not.toHaveBeenCalled();
62
- (0, test_utils_1.act)(function () {
63
- component.find(Button_1.default).find('button').simulate('click');
64
- });
65
- expect(onMenuClose).toHaveBeenCalled();
66
- });
67
- it('should call onMenuClose when click on menu item', function () {
68
- var onMenuClose = jest.fn();
69
- var component = (0, enzyme_1.mount)(react_1.default.createElement(DropDownMenuButton_1.DropDownMenuButton, { menuId: 'test', buttonContent: 'test', menuItems: menuItems, onMenuClose: onMenuClose }));
70
- (0, test_utils_1.act)(function () {
71
- component.find(Button_1.default).find('button').simulate('click');
57
+ var menuItems = [
58
+ { text: 'Disabled custom action', disabled: true, tooltip: 'Disabled custom tooltip', onClick: jest.fn() },
59
+ { text: 'Custom action', disabled: false, tooltip: 'Custom tooltip', onClick: jest.fn() }
60
+ ];
61
+ var defaultProps = { menuId: 'test', buttonContent: 'content', menuItems: menuItems };
62
+ var setUp = function (props) {
63
+ if (props === void 0) { props = defaultProps; }
64
+ var user = user_event_1.default.setup();
65
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(DropDownMenuButton_1.DropDownMenuButton, __assign({}, props)))), { user: user });
66
+ };
67
+ describe('Dropdown menu button tests', function () {
68
+ it('should open and close dropdown menu correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
69
+ var props, user, popover, items;
70
+ return __generator(this, function (_a) {
71
+ switch (_a.label) {
72
+ case 0:
73
+ props = __assign(__assign({}, defaultProps), { onMenuOpen: jest.fn(), onMenuClose: jest.fn() });
74
+ user = setUp(props).user;
75
+ expect(react_2.screen.queryByRole('presentation')).not.toBeInTheDocument();
76
+ return [4 /*yield*/, user.click(react_2.screen.getByText('content'))];
77
+ case 1:
78
+ _a.sent();
79
+ expect(props.onMenuOpen).toHaveBeenCalled();
80
+ popover = react_2.screen.getByRole('presentation');
81
+ items = (0, react_2.within)(popover).getAllByRole('menuitem');
82
+ expect(items).toHaveLength(2);
83
+ expect(items[0]).toHaveTextContent('Disabled custom action');
84
+ expect(items[1]).toHaveTextContent('Custom action');
85
+ return [4 /*yield*/, user.click(react_2.screen.getByText('content'))];
86
+ case 2:
87
+ _a.sent();
88
+ expect(props.onMenuClose).toHaveBeenCalled();
89
+ expect(popover).not.toBeInTheDocument();
90
+ return [2 /*return*/];
91
+ }
72
92
  });
73
- component.update();
74
- var customMenuItem = getMenuItems(component, ['Custom action']);
75
- (0, test_utils_1.act)(function () {
76
- customMenuItem.find('li').at(0).simulate('click');
93
+ }); });
94
+ it('should close dropdown menu correctly on menu item click', function () { return __awaiter(void 0, void 0, void 0, function () {
95
+ var user, popover;
96
+ return __generator(this, function (_a) {
97
+ switch (_a.label) {
98
+ case 0:
99
+ user = setUp().user;
100
+ return [4 /*yield*/, user.click(react_2.screen.getByText('content'))];
101
+ case 1:
102
+ _a.sent();
103
+ popover = react_2.screen.getByRole('presentation');
104
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Custom action'))];
105
+ case 2:
106
+ _a.sent();
107
+ expect(popover).not.toBeInTheDocument();
108
+ return [2 /*return*/];
109
+ }
77
110
  });
78
- component.update();
79
- expect(onMenuClose).toHaveBeenCalled();
80
- });
111
+ }); });
81
112
  });
@@ -1,38 +1,167 @@
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 ReactSelect_1 = require("../ReactSelect");
9
- var AsyncReactSelect_1 = require("../AsyncReactSelect");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
10
56
  var DropDownSelector_1 = require("./DropDownSelector");
11
- describe('DropDownSelector', function () {
12
- it('should contain Menu by default', function () {
13
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownSelector_1.DropDownSelector, { label: 'label' }));
14
- expect(wrapper.prop('components').Menu.name).not.toEqual('EmptyStub');
15
- });
16
- it('should not contain ClearIndicator and IndicatorSeparator by default', function () {
17
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownSelector_1.DropDownSelector, { label: 'label' }));
18
- expect(wrapper.prop('components').IndicatorSeparator.name).toEqual('EmptyStub');
19
- expect(wrapper.prop('components').ClearIndicator.name).toEqual('EmptyStub');
20
- });
21
- it('should render AsyncSelect if "getOptions" prop is provided', function () {
22
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownSelector_1.DropDownSelector, { getOptions: function () { }, label: 'label' }));
23
- expect(wrapper.find(ReactSelect_1.ReactSelect).length).toBe(0);
24
- expect(wrapper.find(AsyncReactSelect_1.AsyncReactSelect).length).toBe(1);
25
- expect(wrapper.find(AsyncReactSelect_1.AsyncReactSelect).prop('onCreate')).toBe(undefined);
26
- });
27
- it('should render Select if "getOptions" prop is not provided', function () {
28
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownSelector_1.DropDownSelector, { label: 'label' }));
29
- expect(wrapper.find(ReactSelect_1.ReactSelect).length).toBe(1);
30
- expect(wrapper.find(ReactSelect_1.ReactSelect).prop('onCreate')).toBe(undefined);
31
- expect(wrapper.find(AsyncReactSelect_1.AsyncReactSelect).length).toBe(0);
32
- });
33
- it('should provide "onCreate" prop to Select component if "onCreate" prop is specified', function () {
34
- var wrapper = (0, enzyme_1.shallow)(react_1.default.createElement(DropDownSelector_1.DropDownSelector, { label: 'label', onCreate: function () { } }));
35
- expect(wrapper.find(ReactSelect_1.ReactSelect).length).toBe(1);
36
- expect(wrapper.find(ReactSelect_1.ReactSelect).prop('onCreate')).toEqual(expect.any(Function));
37
- });
57
+ var defaultOptions = [
58
+ { label: 'First option', value: 'option1' },
59
+ { label: 'Second option', value: 'option2' },
60
+ { label: 'Third option', value: 'option3' }
61
+ ];
62
+ var defaultProps = {
63
+ label: 'Label',
64
+ options: defaultOptions
65
+ };
66
+ var setUp = function (props) {
67
+ if (props === void 0) { props = defaultProps; }
68
+ var user = user_event_1.default.setup();
69
+ return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(DropDownSelector_1.DropDownSelector, __assign({}, props)))), { user: user });
70
+ };
71
+ describe('Dropdown selector tests', function () {
72
+ it('should render correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
73
+ var user, popper, items;
74
+ return __generator(this, function (_a) {
75
+ switch (_a.label) {
76
+ case 0:
77
+ user = setUp().user;
78
+ expect(react_2.screen.queryByRole('tooltip')).not.toBeInTheDocument();
79
+ react_2.screen.getByText('Label');
80
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('combobox'))];
81
+ case 1:
82
+ _a.sent();
83
+ popper = react_2.screen.getByRole('tooltip');
84
+ items = (0, react_2.within)(popper).getAllByRole('option');
85
+ expect(items).toHaveLength(3);
86
+ expect(items[0]).toHaveTextContent('First option');
87
+ expect(items[1]).toHaveTextContent('Second option');
88
+ expect(items[2]).toHaveTextContent('Third option');
89
+ return [4 /*yield*/, user.keyboard('{Escape}')];
90
+ case 2:
91
+ _a.sent();
92
+ expect(popper).not.toBeInTheDocument();
93
+ return [2 /*return*/];
94
+ }
95
+ });
96
+ }); });
97
+ it('should render async selector correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
98
+ var getOptions, props, user, items;
99
+ return __generator(this, function (_a) {
100
+ switch (_a.label) {
101
+ case 0:
102
+ getOptions = function () { return Promise.resolve(defaultOptions); };
103
+ props = __assign(__assign({}, defaultProps), { options: undefined, getOptions: getOptions });
104
+ user = setUp(props).user;
105
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('combobox'))];
106
+ case 1:
107
+ _a.sent();
108
+ items = react_2.screen.getAllByRole('option');
109
+ expect(items).toHaveLength(3);
110
+ expect(items[0]).toHaveTextContent('First option');
111
+ expect(items[1]).toHaveTextContent('Second option');
112
+ expect(items[2]).toHaveTextContent('Third option');
113
+ return [2 /*return*/];
114
+ }
115
+ });
116
+ }); });
117
+ it('should handle onCreate callback correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
118
+ var Group, props, user, popper;
119
+ return __generator(this, function (_a) {
120
+ switch (_a.label) {
121
+ case 0:
122
+ Group = function (_a) {
123
+ var children = _a.children, onCreate = _a.selectProps.onCreate;
124
+ return (react_1.default.createElement("div", null,
125
+ react_1.default.createElement("button", { onClick: onCreate }, "Create button"),
126
+ children));
127
+ };
128
+ props = __assign(__assign({}, defaultProps), { components: { Group: Group }, onCreate: jest.fn(), options: [{ options: defaultOptions }] });
129
+ user = setUp(props).user;
130
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('combobox'))];
131
+ case 1:
132
+ _a.sent();
133
+ popper = react_2.screen.getByRole('tooltip');
134
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Create button'))];
135
+ case 2:
136
+ _a.sent();
137
+ expect(props.onCreate).toHaveBeenCalled();
138
+ expect(popper).not.toBeInTheDocument();
139
+ return [2 /*return*/];
140
+ }
141
+ });
142
+ }); });
143
+ it('should not fail if onCreate is not passed', function () { return __awaiter(void 0, void 0, void 0, function () {
144
+ var Group, props, user;
145
+ return __generator(this, function (_a) {
146
+ switch (_a.label) {
147
+ case 0:
148
+ Group = function (_a) {
149
+ var children = _a.children, onCreate = _a.selectProps.onCreate;
150
+ return (react_1.default.createElement("div", null,
151
+ react_1.default.createElement("button", { onClick: onCreate }, "Create button"),
152
+ children));
153
+ };
154
+ props = __assign(__assign({}, defaultProps), { components: { Group: Group }, options: [{ options: defaultOptions }] });
155
+ user = setUp(props).user;
156
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('combobox'))];
157
+ case 1:
158
+ _a.sent();
159
+ return [4 /*yield*/, user.click(react_2.screen.getByText('Create button'))];
160
+ case 2:
161
+ _a.sent();
162
+ react_2.screen.getByRole('tooltip');
163
+ return [2 /*return*/];
164
+ }
165
+ });
166
+ }); });
38
167
  });