@reltio/components 1.4.2071 → 1.4.2072

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 (174) hide show
  1. package/AttributesView/AttributesView.js +1 -1
  2. package/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  3. package/ColumnsSettings/helpers.d.ts +3 -1
  4. package/ColumnsSettings/types.d.ts +8 -0
  5. package/CommentsContainer/CommentsContainer.js +1 -1
  6. package/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  7. package/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  8. package/EditModeAttributesList/EditModeAttributesList.js +1 -1
  9. package/EditModeAttributesPager/EditModeAttributesPager.test.js +1 -1
  10. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +1 -1
  11. package/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  12. package/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  13. package/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  14. package/ReadOnlyAttributesList/ReadOnlyAttributesList.js +1 -1
  15. package/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +1 -1
  16. package/ReadOnlyAttributesView/ReadOnlyAttributesView.js +1 -1
  17. package/ScrollableTabs/ScrollableTabs.test.js +69 -19
  18. package/SearchHighlighter/SearchHighlighter.test.js +18 -7
  19. package/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  20. package/SelectAttributesList/SelectAttributesList.js +5 -2
  21. package/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  22. package/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  23. package/SidePanelContentHeader/SidePanelContentHeader.test.js +104 -0
  24. package/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  25. package/SidePanelEmptyState/SidePanelEmptyState.test.js +24 -0
  26. package/SimpleAttribute/SimpleAttribute.js +1 -1
  27. package/SimpleAttribute/SimpleAttribute.test.js +155 -80
  28. package/SimpleAttributeEditor/SimpleAttributeEditor.test.js +339 -330
  29. package/SimpleAttributeEditor/useAttributeValuePermissions.js +1 -1
  30. package/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  31. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  32. package/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  33. package/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +128 -32
  34. package/SmallIconButton/SmallIconButton.test.js +98 -25
  35. package/TableWithBars/TableWithBars.test.js +98 -60
  36. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  37. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  38. package/Tags/Tags.d.ts +0 -1
  39. package/Tags/Tags.test.js +8 -7
  40. package/TransitiveMatchBlock/TransitiveMatchBlock.test.js +78 -22
  41. package/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  42. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  43. package/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  44. package/UploadFileButton/UploadFileButton.d.ts +2 -2
  45. package/UploadFileButton/UploadFileButton.test.js +199 -0
  46. package/UploadImageDialog/UploadImageDialog.test.js +1 -0
  47. package/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  48. package/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  49. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  50. package/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  51. package/ValueChip/ValueChip.test.js +7 -23
  52. package/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  53. package/VirtualGroupedList/VirtualGroupedList.js +11 -36
  54. package/VirtualGroupedList/VirtualGroupedList.test.js +224 -0
  55. package/VirtualGroupedList/helpers.d.ts +7 -2
  56. package/VirtualGroupedList/helpers.js +3 -1
  57. package/VirtualGroupedList/index.d.ts +1 -1
  58. package/VirtualGroupedList/types.d.ts +10 -6
  59. package/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  60. package/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  61. package/cjs/AttributesView/AttributesView.js +2 -2
  62. package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.d.ts +2 -3
  63. package/cjs/ColumnsSettings/helpers.d.ts +3 -1
  64. package/cjs/ColumnsSettings/types.d.ts +8 -0
  65. package/cjs/ColumnsSettings/types.js +2 -0
  66. package/cjs/CommentsContainer/CommentsContainer.js +1 -1
  67. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.d.ts +23 -40
  68. package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.js +6 -26
  69. package/cjs/EditModeAttributesList/EditModeAttributesList.js +2 -2
  70. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +2 -2
  71. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.js +2 -2
  72. package/cjs/MetadataTypesSelector/MetadataTypesSelector.d.ts +2 -1
  73. package/cjs/MetadataTypesSelector/components/SelectMetadataTypesList/SelectMetadataTypesList.d.ts +5 -6
  74. package/cjs/MoreAttributesButton/useMoreAttributesItems.d.ts +1 -1
  75. package/cjs/ReadOnlyAttributesList/ReadOnlyAttributesList.js +2 -2
  76. package/cjs/ReadOnlyAttributesPager/ReadOnlyAttributesPager.js +2 -2
  77. package/cjs/ReadOnlyAttributesView/ReadOnlyAttributesView.js +2 -2
  78. package/cjs/ScrollableTabs/ScrollableTabs.test.js +69 -19
  79. package/cjs/SearchHighlighter/SearchHighlighter.test.js +18 -7
  80. package/cjs/SelectAttributesList/SelectAttributesList.d.ts +11 -6
  81. package/cjs/SelectAttributesList/SelectAttributesList.js +5 -2
  82. package/cjs/SelectorWithOnlyOptionAutoSelect/SelectorWithOnlyOptionAutoSelect.test.js +109 -60
  83. package/cjs/SidePanelContentHeader/SidePanelContentHeader.js +2 -2
  84. package/cjs/SidePanelContentHeader/SidePanelContentHeader.test.js +109 -0
  85. package/cjs/SidePanelEmptyState/SidePanelEmptyState.js +1 -1
  86. package/cjs/SidePanelEmptyState/SidePanelEmptyState.test.js +29 -0
  87. package/cjs/SimpleAttribute/SimpleAttribute.js +1 -1
  88. package/cjs/SimpleAttribute/SimpleAttribute.test.js +155 -80
  89. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.test.js +338 -352
  90. package/cjs/SimpleAttributeEditor/useAttributeValuePermissions.js +2 -2
  91. package/cjs/SimpleDropDownSelector/SimpleDropDownSelector.test.js +86 -10
  92. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.js +1 -1
  93. package/cjs/SimpleDropDownSelector/components/DropDownValue/DropDownValue.js +1 -1
  94. package/cjs/SimpleMatchRulesBlock/SimpleMatchRulesBlock.test.js +127 -31
  95. package/cjs/SmallIconButton/SmallIconButton.test.js +98 -25
  96. package/cjs/TableWithBars/TableWithBars.test.js +98 -60
  97. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.js +1 -1
  98. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.js +1 -1
  99. package/cjs/Tags/Tags.d.ts +0 -1
  100. package/cjs/Tags/Tags.test.js +8 -7
  101. package/cjs/TransitiveMatchBlock/TransitiveMatchBlock.test.js +77 -21
  102. package/cjs/TransitiveMatchRule/TransitiveMatchRule.test.js +78 -37
  103. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.js +1 -1
  104. package/cjs/TransitiveMatchRulesTooltip/TransitiveMatchRulesTooltip.test.js +12 -18
  105. package/cjs/UploadFileButton/UploadFileButton.d.ts +2 -2
  106. package/cjs/UploadFileButton/UploadFileButton.test.js +204 -0
  107. package/cjs/UploadImageDialog/UploadImageDialog.test.js +1 -0
  108. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.js +1 -1
  109. package/cjs/UploadImageDialog/components/ErrorSnackbar/ErrorSnackbar.test.js +80 -22
  110. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.js +1 -1
  111. package/cjs/UploadImageDialog/components/ImageByUrlField/ImageByUrlField.test.js +162 -49
  112. package/cjs/ValueChip/ValueChip.test.js +7 -23
  113. package/cjs/VirtualGroupedList/VirtualGroupedList.d.ts +19 -31
  114. package/cjs/VirtualGroupedList/VirtualGroupedList.js +11 -36
  115. package/cjs/VirtualGroupedList/VirtualGroupedList.test.js +252 -0
  116. package/cjs/VirtualGroupedList/helpers.d.ts +7 -2
  117. package/cjs/VirtualGroupedList/helpers.js +3 -1
  118. package/cjs/VirtualGroupedList/index.d.ts +1 -1
  119. package/cjs/VirtualGroupedList/types.d.ts +10 -6
  120. package/cjs/VirtualGroupedList/useScrollToFocusItem.d.ts +8 -5
  121. package/cjs/WhiteSearchInput/{WhiteSearchInput.spec.js → WhiteSearchInput.test.js} +3 -8
  122. package/cjs/features/crosswalks/hooks/useAttributeActions.test.js +24 -25
  123. package/cjs/features/crosswalks/hooks/useCrosswalkActions.test.js +10 -11
  124. package/cjs/features/workflow/hooks/useChangeRequest.test.js +5 -6
  125. package/cjs/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +8 -9
  126. package/cjs/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  127. package/features/crosswalks/hooks/useAttributeActions.test.js +1 -2
  128. package/features/crosswalks/hooks/useCrosswalkActions.test.js +1 -2
  129. package/features/workflow/hooks/useChangeRequest.test.js +1 -2
  130. package/hooks/useCommentsEntitiesMap/useCommentsEntitiesMap.test.js +1 -2
  131. package/hooks/useKeyboardNavigation/useKeyboardNavigation.d.ts +9 -13
  132. package/package.json +1 -1
  133. package/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -49
  134. package/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -24
  135. package/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -103
  136. package/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -13
  137. package/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -21
  138. package/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -20
  139. package/UploadFileButton/UploadFileButton.spec.js +0 -219
  140. package/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -9
  141. package/VirtualGroupedList/VirtualGroupedList.spec.js +0 -282
  142. package/cjs/SidePanelContentHeader/SidePanelContentHeader.spec.js +0 -54
  143. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.d.ts +0 -1
  144. package/cjs/SidePanelEmptyState/SidePanelEmptyState.spec.js +0 -29
  145. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts +0 -1
  146. package/cjs/SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.js +0 -108
  147. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts +0 -1
  148. package/cjs/SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.js +0 -18
  149. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts +0 -1
  150. package/cjs/TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.js +0 -26
  151. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts +0 -1
  152. package/cjs/TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.js +0 -25
  153. package/cjs/UploadFileButton/UploadFileButton.spec.d.ts +0 -1
  154. package/cjs/UploadFileButton/UploadFileButton.spec.js +0 -224
  155. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts +0 -1
  156. package/cjs/UploadImageDialog/components/DividerWithText/DividerWithText.test.js +0 -14
  157. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.d.ts +0 -1
  158. package/cjs/VirtualGroupedList/VirtualGroupedList.spec.js +0 -287
  159. package/cjs/WhiteSearchInput/WhiteSearchInput.spec.d.ts +0 -1
  160. /package/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → ColumnsSettings/types.js} +0 -0
  161. /package/{SidePanelEmptyState/SidePanelEmptyState.spec.d.ts → SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  162. /package/{SimpleAttributeEditor/SimpleAttributeEditorWithoutPermissions.test.d.ts → SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  163. /package/{SimpleDropDownSelector/components/DropDownPlaceholder/DropDownPlaceholder.test.d.ts → UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  164. /package/{TableWithBars/components/AttributeCellRenderer/AttributeCellRenderer.test.d.ts → VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  165. /package/{TableWithBars/components/HeadCellRenderer/HeadCellRenderer.test.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  166. /package/{UploadFileButton/UploadFileButton.spec.d.ts → cjs/SidePanelContentHeader/SidePanelContentHeader.test.d.ts} +0 -0
  167. /package/{UploadImageDialog/components/DividerWithText/DividerWithText.test.d.ts → cjs/SidePanelEmptyState/SidePanelEmptyState.test.d.ts} +0 -0
  168. /package/{VirtualGroupedList/VirtualGroupedList.spec.d.ts → cjs/UploadFileButton/UploadFileButton.test.d.ts} +0 -0
  169. /package/{WhiteSearchInput/WhiteSearchInput.spec.d.ts → cjs/VirtualGroupedList/VirtualGroupedList.test.d.ts} +0 -0
  170. /package/cjs/{SidePanelContentHeader/SidePanelContentHeader.spec.d.ts → WhiteSearchInput/WhiteSearchInput.test.d.ts} +0 -0
  171. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  172. /package/cjs/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
  173. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.d.ts +0 -0
  174. /package/contexts/{AllwaysVisibleAttributesContext → AlwaysVisibleAttributesContext}/index.js +0 -0
@@ -4,11 +4,11 @@ exports.useAttributeValuePermissions = void 0;
4
4
  var react_1 = require("react");
5
5
  var mdm_sdk_1 = require("@reltio/mdm-sdk");
6
6
  var ConfigPermissionsContext_1 = require("../contexts/ConfigPermissionsContext");
7
- var AllwaysVisibleAttributesContext_1 = require("../contexts/AllwaysVisibleAttributesContext");
7
+ var AlwaysVisibleAttributesContext_1 = require("../contexts/AlwaysVisibleAttributesContext");
8
8
  var useAttributeValuePermissions = function (_a) {
9
9
  var attributeType = _a.attributeType, attributeValue = _a.attributeValue, isReltioCrosswalk = _a.isReltioCrosswalk, mode = _a.mode;
10
10
  var _b = (0, ConfigPermissionsContext_1.useAttributeValueConfigPermissions)(attributeValue.uri), configCanCreate = _b.canCreate, configCanUpdate = _b.canUpdate, configCanDelete = _b.canDelete;
11
- var alwaysVisibleAttributes = (0, react_1.useContext)(AllwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
11
+ var alwaysVisibleAttributes = (0, react_1.useContext)(AlwaysVisibleAttributesContext_1.AlwaysVisibleAttributesContext);
12
12
  var isAlwaysVisible = (0, react_1.useMemo)(function () { return alwaysVisibleAttributes === null || alwaysVisibleAttributes === void 0 ? void 0 : alwaysVisibleAttributes.includes(attributeType.uri); }, [attributeType.uri, alwaysVisibleAttributes]);
13
13
  var canCreate = configCanCreate && (0, mdm_sdk_1.checkCanCreateAttribute)({ attributeType: attributeType, mode: mode });
14
14
  var canEdit = configCanUpdate &&
@@ -1,21 +1,97 @@
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");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
8
56
  var SimpleDropDownSelector_1 = __importDefault(require("./SimpleDropDownSelector"));
9
- var DropDownValue_1 = require("./components/DropDownValue");
10
- var DropDownPlaceholder_1 = require("./components/DropDownPlaceholder");
11
- var DropDownSelector_1 = require("../DropDownSelector");
12
57
  describe('SimpleDropDownSelector tests', function () {
13
- it('should render SimpleDropDownSelector with "components" prop', function () {
14
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SimpleDropDownSelector_1.default, { label: "test" }));
15
- expect(component.find(DropDownSelector_1.DropDownSelector).length).toBe(1);
16
- expect(component.find(DropDownSelector_1.DropDownSelector).prop('components')).toEqual({
17
- SingleValue: DropDownValue_1.DropDownValue,
18
- Placeholder: DropDownPlaceholder_1.DropDownPlaceholder
58
+ var defaultProps = { label: 'Test label' };
59
+ var setUp = function (props) {
60
+ if (props === void 0) { props = {}; }
61
+ var user = user_event_1.default.setup();
62
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SimpleDropDownSelector_1.default, __assign({}, defaultProps, props))));
63
+ };
64
+ it('should render SimpleDropDownSelector correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
65
+ var options, user, menuOptions;
66
+ return __generator(this, function (_a) {
67
+ switch (_a.label) {
68
+ case 0:
69
+ options = [
70
+ { label: 'test1', value: 'test1' },
71
+ { label: 'test2', value: 'test2' }
72
+ ];
73
+ user = setUp({ placeholder: 'testPlaceholder', options: options }).user;
74
+ expect(react_2.screen.getByText('Test label')).toBeInTheDocument();
75
+ expect(react_2.screen.getByRole('combobox')).toBeInTheDocument();
76
+ expect(react_2.screen.getByTestId('simple-drop-down-placeholder')).toHaveTextContent('testPlaceholder');
77
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('combobox'))];
78
+ case 1:
79
+ _a.sent();
80
+ menuOptions = react_2.screen.getAllByRole('option');
81
+ expect(menuOptions).toHaveLength(2);
82
+ expect(menuOptions[0]).toHaveTextContent('test1');
83
+ expect(menuOptions[1]).toHaveTextContent('test2');
84
+ return [2 /*return*/];
85
+ }
19
86
  });
87
+ }); });
88
+ it('should render selected value correctly', function () {
89
+ var options = [
90
+ { label: 'test1', value: 'test1' },
91
+ { label: 'test2', value: 'test2' }
92
+ ];
93
+ setUp({ options: options, value: { label: 'test1', value: 'test1' } });
94
+ expect(react_2.screen.getByTestId('simple-drop-down-value')).toHaveTextContent('test1');
95
+ expect(react_2.screen.queryByTestId('simple-drop-down-placeholder')).not.toBeInTheDocument();
20
96
  });
21
97
  });
@@ -21,6 +21,6 @@ var styles_1 = require("./styles");
21
21
  var DropDownPlaceholder = function (_a) {
22
22
  var innerProps = _a.innerProps, children = _a.children;
23
23
  var styles = (0, styles_1.useStyles)();
24
- return (react_1.default.createElement(Typography_1.default, __assign({ className: styles.placeholder }, innerProps), children));
24
+ return (react_1.default.createElement(Typography_1.default, __assign({ "data-reltio-id": "simple-drop-down-placeholder", className: styles.placeholder }, innerProps), children));
25
25
  };
26
26
  exports.DropDownPlaceholder = DropDownPlaceholder;
@@ -10,6 +10,6 @@ var styles_1 = require("./styles");
10
10
  var DropDownValue = function (_a) {
11
11
  var menuIsOpen = _a.selectProps.menuIsOpen, label = _a.data.label;
12
12
  var styles = (0, styles_1.useStyles)();
13
- return (!menuIsOpen && (react_1.default.createElement(Typography_1.default, { variant: "body2", classes: { root: styles.value } }, label)));
13
+ return (!menuIsOpen && (react_1.default.createElement(Typography_1.default, { "data-reltio-id": "simple-drop-down-value", variant: "body2", classes: { root: styles.value } }, label)));
14
14
  };
15
15
  exports.DropDownValue = DropDownValue;
@@ -1,45 +1,141 @@
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 test_utils_1 = require("react-dom/test-utils");
9
- var SimpleMatchRules_1 = require("../SimpleMatchRules");
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
10
56
  var SimpleMatchRulesBlock_1 = require("./SimpleMatchRulesBlock");
11
57
  describe('SimpleMatchRulesBlock test', function () {
12
- var getMatchRuleBadgeWithTooltip = function (component) { return component.find(SimpleMatchRulesBlock_1.MatchRuleBadgeWithTooltip); };
13
- var getMatchRulesTooltip = function (component) { return getMatchRuleBadgeWithTooltip(component).prop('tooltipTitle'); };
14
- var getSimpleMatchRules = function (component) { return component.find(SimpleMatchRules_1.SimpleMatchRules); };
15
58
  var matchRules = [
16
59
  { uri: 'uri1', label: 'label1' },
17
60
  { uri: 'uri2', label: 'label2' }
18
61
  ];
19
- it('should provide props to MatchRulesTooltip', function () {
20
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, { isMlMatch: true, matchRules: matchRules }));
21
- var matchRulesTooltip = getMatchRulesTooltip(component);
22
- expect(matchRulesTooltip.props.matchRules).toBe(matchRules);
23
- expect(matchRulesTooltip.props.isMlMatch).toBe(true);
24
- });
25
- it('should expand rule list', function () {
26
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, { isMlMatch: true, matchRules: matchRules }));
27
- expect(getSimpleMatchRules(component)).toHaveLength(0);
28
- (0, test_utils_1.act)(function () {
29
- getMatchRuleBadgeWithTooltip(component).prop('onExpand')();
62
+ var setUp = function (props) {
63
+ if (props === void 0) { props = {}; }
64
+ var user = user_event_1.default.setup();
65
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, __assign({ isMlMatch: true, matchRules: matchRules }, props))));
66
+ };
67
+ it('should provide props to MatchRulesTooltip', 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
+ expect(react_2.screen.getByTestId('arrow-expand-button')).toBeInTheDocument();
74
+ expect(react_2.screen.getByTestId('simple-match-rules-block')).toBeInTheDocument();
75
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('AI-powered'))];
76
+ case 1:
77
+ _a.sent();
78
+ expect(react_2.screen.queryByText('Match rules')).not.toBeInTheDocument();
79
+ expect(react_2.screen.getByRole('tooltip')).toBeInTheDocument();
80
+ expect(react_2.screen.getByText('- label1')).toBeInTheDocument();
81
+ expect(react_2.screen.getByText('- label2')).toBeInTheDocument();
82
+ return [2 /*return*/];
83
+ }
30
84
  });
31
- component.update();
32
- var simpleMatchRules = getSimpleMatchRules(component);
33
- expect(simpleMatchRules).toHaveLength(1);
34
- expect(simpleMatchRules.prop('matchRules')).toBe(matchRules);
35
- expect(simpleMatchRules.prop('isMlMatch')).toBe(true);
36
- });
37
- it('should render correct MatchRuleBadgeWithTooltip for Ml match', function () {
38
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, { isMlMatch: true, matchRules: matchRules }));
39
- expect(getMatchRuleBadgeWithTooltip(component).text()).toBe('<AIPowered />AI-powered');
40
- });
41
- it('should render correct MatchRuleBadgeWithTooltip for non Ml match', function () {
42
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(SimpleMatchRulesBlock_1.SimpleMatchRulesBlock, { matchRules: matchRules }));
43
- expect(getMatchRuleBadgeWithTooltip(component).text()).toBe('Rules');
44
- });
85
+ }); });
86
+ it('should expand rule list', function () { return __awaiter(void 0, void 0, void 0, function () {
87
+ var user;
88
+ return __generator(this, function (_a) {
89
+ switch (_a.label) {
90
+ case 0:
91
+ user = setUp().user;
92
+ expect(react_2.screen.queryByTestId('simple-match-rules')).not.toBeInTheDocument();
93
+ return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
94
+ case 1:
95
+ _a.sent();
96
+ expect(react_2.screen.getByTestId('simple-match-rules-block')).toBeInTheDocument();
97
+ expect(react_2.screen.getByText('AI-powered')).toBeInTheDocument();
98
+ expect(react_2.screen.getByTestId('simple-match-rules')).toBeInTheDocument();
99
+ expect(react_2.screen.getByText('• label1')).toBeInTheDocument();
100
+ expect(react_2.screen.getByText('• label2')).toBeInTheDocument();
101
+ return [2 /*return*/];
102
+ }
103
+ });
104
+ }); });
105
+ it('should render correct MatchRuleBadgeWithTooltip for Ml match', function () { return __awaiter(void 0, void 0, void 0, function () {
106
+ var user;
107
+ return __generator(this, function (_a) {
108
+ switch (_a.label) {
109
+ case 0:
110
+ user = setUp({ isMlMatch: true }).user;
111
+ expect(react_2.screen.queryByTestId('simple-match-rules')).not.toBeInTheDocument();
112
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('AI-powered'))];
113
+ case 1:
114
+ _a.sent();
115
+ expect(react_2.screen.queryByText('Match rules')).not.toBeInTheDocument();
116
+ expect(react_2.screen.getByRole('tooltip')).toBeInTheDocument();
117
+ expect(react_2.screen.getByText('- label1')).toBeInTheDocument();
118
+ expect(react_2.screen.getByText('- label2')).toBeInTheDocument();
119
+ return [2 /*return*/];
120
+ }
121
+ });
122
+ }); });
123
+ it('should render correct MatchRuleBadgeWithTooltip for non Ml match', function () { return __awaiter(void 0, void 0, void 0, function () {
124
+ var user;
125
+ return __generator(this, function (_a) {
126
+ switch (_a.label) {
127
+ case 0:
128
+ user = setUp({ isMlMatch: false }).user;
129
+ expect(react_2.screen.queryByTestId('simple-match-rules')).not.toBeInTheDocument();
130
+ return [4 /*yield*/, user.hover(react_2.screen.getByText('Rules'))];
131
+ case 1:
132
+ _a.sent();
133
+ expect(react_2.screen.queryByText('Match rules')).toBeInTheDocument();
134
+ expect(react_2.screen.getByRole('tooltip')).toBeInTheDocument();
135
+ expect(react_2.screen.getByText('- label1')).toBeInTheDocument();
136
+ expect(react_2.screen.getByText('- label2')).toBeInTheDocument();
137
+ return [2 /*return*/];
138
+ }
139
+ });
140
+ }); });
45
141
  });
@@ -1,42 +1,115 @@
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 IconButton_1 = __importDefault(require("@mui/material/IconButton"));
54
+ var react_2 = require("@testing-library/react");
55
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
9
56
  var Delete_1 = __importDefault(require("@mui/icons-material/Delete"));
10
57
  var SmallIconButton_1 = require("./SmallIconButton");
58
+ var test_utils_1 = require("../test-utils");
59
+ var defaultProps = {
60
+ icon: Delete_1.default
61
+ };
62
+ var setUp = function (props) {
63
+ if (props === void 0) { props = {}; }
64
+ var user = user_event_1.default.setup();
65
+ return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, __assign({}, defaultProps, props))));
66
+ };
11
67
  describe('SmallIconButton tests', function () {
12
68
  it('should render main parts', function () {
13
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, null));
14
- expect(component.find(IconButton_1.default)).toHaveLength(1);
15
- expect(component.find('svg')).toHaveLength(0);
16
- });
17
- it('should call onClick() on button click', function () {
18
- var onClick = jest.fn();
19
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, { onClick: onClick }));
20
- component.find(IconButton_1.default).find('button').simulate('click');
21
- expect(onClick).toHaveBeenCalled();
22
- });
23
- it('should not fail when onClick prop is undefined', function () {
24
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, null));
25
- component.find(IconButton_1.default).find('button').simulate('click');
69
+ setUp();
70
+ expect(react_2.screen.getByRole('button')).toBeInTheDocument();
71
+ expect((0, test_utils_1.getMuiIconByName)('Delete')).toBeInTheDocument();
26
72
  });
27
- it('should render icon', function () {
28
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: Delete_1.default }));
29
- expect(component.find(IconButton_1.default)).toHaveLength(1);
30
- expect(component.find('svg')).toHaveLength(1);
73
+ it('should render without icon', function () {
74
+ setUp({ icon: undefined });
75
+ expect(react_2.screen.getByRole('button')).toBeInTheDocument();
31
76
  });
77
+ it('should call onClick() on button click', function () { return __awaiter(void 0, void 0, void 0, function () {
78
+ var onClick, user;
79
+ return __generator(this, function (_a) {
80
+ switch (_a.label) {
81
+ case 0:
82
+ onClick = jest.fn();
83
+ user = setUp({ onClick: onClick }).user;
84
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
85
+ case 1:
86
+ _a.sent();
87
+ expect(onClick).toHaveBeenCalled();
88
+ return [2 /*return*/];
89
+ }
90
+ });
91
+ }); });
92
+ it('should not fail when onClick prop is undefined', function () { return __awaiter(void 0, void 0, void 0, function () {
93
+ var user;
94
+ return __generator(this, function (_a) {
95
+ switch (_a.label) {
96
+ case 0:
97
+ user = setUp({ onClick: undefined }).user;
98
+ return [4 /*yield*/, user.click(react_2.screen.getByRole('button'))];
99
+ case 1:
100
+ _a.sent();
101
+ return [2 /*return*/];
102
+ }
103
+ });
104
+ }); });
32
105
  it('should use XS styles by default', function () {
33
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: Delete_1.default }));
34
- expect(component.find(IconButton_1.default).prop('classes').root.includes('rootXS')).toBe(true);
35
- expect(component.find('svg').prop('className').includes('iconXS')).toBe(true);
106
+ setUp({ icon: Delete_1.default });
107
+ var button = react_2.screen.getByRole('button');
108
+ expect(button.className.includes('rootXS')).toBe(true);
36
109
  });
37
110
  it('should apply S styles if size is S', function () {
38
- var component = (0, enzyme_1.mount)(react_1.default.createElement(SmallIconButton_1.SmallIconButton, { icon: Delete_1.default, size: "S" }));
39
- expect(component.find(IconButton_1.default).prop('classes').root.includes('rootS')).toBe(true);
40
- expect(component.find('svg').prop('className').includes('iconS')).toBe(true);
111
+ setUp({ icon: Delete_1.default, size: 'S' });
112
+ var button = react_2.screen.getByRole('button');
113
+ expect(button.className.includes('rootS')).toBe(true);
41
114
  });
42
115
  });