@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
package/Tags/Tags.d.ts CHANGED
@@ -2,7 +2,6 @@ import React from 'react';
2
2
  type Props = {
3
3
  className?: string;
4
4
  values: string[];
5
- dataReltioId?: string;
6
5
  };
7
6
  export declare const Tags: ({ className, values }: Props) => React.JSX.Element;
8
7
  export {};
package/Tags/Tags.test.js CHANGED
@@ -1,15 +1,16 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { SpecialAttributesArray } from '../SpecialAttributesArray';
4
- import { Tag } from './components/Tag';
2
+ import { render, screen } from '@testing-library/react';
3
+ import { MdmModuleProvider } from '../contexts/MdmModuleContext';
5
4
  import { Tags } from './Tags';
6
5
  describe('Tags tests', function () {
7
6
  var values = ['tag1'];
8
7
  var className = 'class1';
8
+ var entity = { uri: 'uri1' };
9
+ var uiPath = 'https://uiPath';
9
10
  it('should render SpecialAttributesArray with correct props', function () {
10
- var component = shallow(React.createElement(Tags, { values: values, className: className }));
11
- expect(component.find(SpecialAttributesArray).prop('className')).toBe(className);
12
- expect(component.find(SpecialAttributesArray).prop('values')).toBe(values);
13
- expect(component.find(SpecialAttributesArray).prop('Component')).toBe(Tag);
11
+ render(React.createElement(MdmModuleProvider, { values: { entity: entity, uiPath: uiPath } },
12
+ React.createElement(Tags, { values: values, className: className })));
13
+ expect(screen.getByTestId('reltio-attribute-value')).toHaveClass('class1');
14
+ expect(screen.getByText('tag1')).toHaveAttribute('href', 'https://uiPath#p~com.reltio.plugins.tags.TagPerspective_e~uri1_tag~tag1');
14
15
  });
15
16
  });
@@ -1,9 +1,54 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ 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);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ 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;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
1
48
  import React from 'react';
2
- import { mount, shallow } from 'enzyme';
3
- import { act } from 'react-dom/test-utils';
4
- import { TransitiveMatchRule } from '../TransitiveMatchRule';
5
- import { MatchRulesBadge } from '../MatchRulesBadge';
6
- import { TransitiveMatchBlock, MatchRuleBadgeWithTooltip } from './TransitiveMatchBlock';
49
+ import { render, screen, within } from '@testing-library/react';
50
+ import userEvent from '@testing-library/user-event';
51
+ import { TransitiveMatchBlock } from './TransitiveMatchBlock';
7
52
  var matchRules = [
8
53
  { uri: 'uri1', label: 'label1' },
9
54
  { uri: 'uri2', label: 'label2' }
@@ -12,23 +57,34 @@ var transitiveMatchRules = [
12
57
  { label: 'TLabel1', matchRules: matchRules },
13
58
  { label: 'TLabel2', matchRules: matchRules }
14
59
  ];
60
+ var defaultProps = { transitiveMatchRules: transitiveMatchRules };
61
+ var setUp = function (props) {
62
+ if (props === void 0) { props = {}; }
63
+ var user = userEvent.setup();
64
+ return __assign({ user: user }, render(React.createElement(TransitiveMatchBlock, __assign({}, defaultProps, props))));
65
+ };
15
66
  describe('TransitiveMatchBlock test', function () {
16
- var getTransitiveMatchRule = function (component) { return component.find(TransitiveMatchRule); };
17
- var getMatchRulesBadge = function (component) { return component.find(MatchRulesBadge); };
18
- it('should render expanded TransitiveMatchRule', function () {
19
- var component = mount(React.createElement(TransitiveMatchBlock, { transitiveMatchRules: transitiveMatchRules }));
20
- expect(getTransitiveMatchRule(component)).toHaveLength(0);
21
- act(function () {
22
- getMatchRulesBadge(component).prop('onExpand')();
67
+ it('should expand TransitiveMatchRule correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
68
+ var user, matchRules;
69
+ return __generator(this, function (_a) {
70
+ switch (_a.label) {
71
+ case 0:
72
+ user = setUp().user;
73
+ expect(screen.getByText('Transitive matches')).toBeInTheDocument();
74
+ expect(screen.queryByTestId('match-rule-wrapper')).not.toBeInTheDocument();
75
+ return [4 /*yield*/, user.click(screen.getByTestId('arrow-expand-button'))];
76
+ case 1:
77
+ _a.sent();
78
+ matchRules = screen.getAllByTestId('match-rule-wrapper');
79
+ expect(matchRules).toHaveLength(2);
80
+ expect(within(matchRules[0]).getByText('TLabel1')).toBeInTheDocument();
81
+ expect(within(matchRules[0]).getByText('Match rules')).toBeInTheDocument();
82
+ expect(within(matchRules[0]).getByText('- label1')).toBeInTheDocument();
83
+ expect(within(matchRules[1]).getByText('TLabel2')).toBeInTheDocument();
84
+ expect(within(matchRules[1]).getByText('Match rules')).toBeInTheDocument();
85
+ expect(within(matchRules[1]).getByText('- label2')).toBeInTheDocument();
86
+ return [2 /*return*/];
87
+ }
23
88
  });
24
- component.update();
25
- var transitiveMatchRuleComponents = getTransitiveMatchRule(component);
26
- expect(transitiveMatchRuleComponents).toHaveLength(2);
27
- expect(transitiveMatchRuleComponents.at(0).prop('label')).toBe(transitiveMatchRules[0].label);
28
- expect(transitiveMatchRuleComponents.at(1).prop('label')).toBe(transitiveMatchRules[1].label);
29
- });
30
- it('should render correct MatchRulesBadge', function () {
31
- var component = shallow(React.createElement(TransitiveMatchBlock, { transitiveMatchRules: transitiveMatchRules }));
32
- expect(component.find(MatchRuleBadgeWithTooltip).text()).toBe('Transitive matches');
33
- });
89
+ }); });
34
90
  });
@@ -9,45 +9,86 @@ var __assign = (this && this.__assign) || function () {
9
9
  };
10
10
  return __assign.apply(this, arguments);
11
11
  };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ 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);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ 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;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
12
48
  import React from 'react';
13
- import { mount } from 'enzyme';
14
- import { act } from 'react-dom/test-utils';
15
- import { SimpleMatchRulesBuilder } from '../SimpleMatchRulesBuilder';
16
- import { SimpleMatchRules } from '../SimpleMatchRules';
17
- import { ArrowExpandButton } from '../ArrowExpandButton';
49
+ import { render, screen } from '@testing-library/react';
50
+ import userEvent from '@testing-library/user-event';
18
51
  import { TransitiveMatchRule } from './TransitiveMatchRule';
19
52
  describe('TransitiveMatchRule tests', function () {
20
- var getSimpleMatchRulesBuilder = function (component) { return component.find(SimpleMatchRulesBuilder); };
21
- var getBadge = function (component) { return component.find('.badge'); };
22
- var getLabel = function (component) { return component.find('.label'); };
23
- var getArrowExpandButton = function (component) { return component.find(ArrowExpandButton); };
24
- var matchRules = [
25
- { uri: 'uri1', label: 'label1' },
26
- { uri: 'uri2', label: 'label2' }
27
- ];
28
- var transitiveMatchRule = { label: 'TLabel1', matchRules: matchRules };
29
- it('should render SimpleMatchRulesBuilder when expanded', function () {
30
- var component = mount(React.createElement(TransitiveMatchRule, __assign({}, transitiveMatchRule)));
31
- expect(getSimpleMatchRulesBuilder(component)).toHaveLength(0);
32
- act(function () {
33
- getBadge(component).prop('onClick')();
34
- });
35
- component.update();
36
- expect(getSimpleMatchRulesBuilder(component)).toHaveLength(1);
37
- expect(getSimpleMatchRulesBuilder(component).prop('matchRules')).toBe(matchRules);
38
- expect(getSimpleMatchRulesBuilder(component).prop('Component')).toBe(SimpleMatchRules);
39
- });
40
- it('should render label correctly', function () {
41
- var component = mount(React.createElement(TransitiveMatchRule, __assign({}, transitiveMatchRule)));
42
- expect(getLabel(component).text()).toBe(transitiveMatchRule.label);
43
- });
44
- it('should provide expanded prop to arrow', function () {
45
- var component = mount(React.createElement(TransitiveMatchRule, __assign({}, transitiveMatchRule)));
46
- expect(getArrowExpandButton(component).prop('expanded')).toBe(false);
47
- act(function () {
48
- getBadge(component).prop('onClick')();
53
+ var defaultProps = {
54
+ label: 'TLabel1',
55
+ matchRules: [
56
+ { uri: 'uri1', label: 'label1' },
57
+ { uri: 'uri2', label: 'label2' }
58
+ ]
59
+ };
60
+ var setUp = function (props) {
61
+ if (props === void 0) { props = {}; }
62
+ var user = userEvent.setup();
63
+ return __assign({ user: user }, render(React.createElement(TransitiveMatchRule, __assign({}, defaultProps, props))));
64
+ };
65
+ it('should render SimpleMatchRulesBuilder when expanded', function () { return __awaiter(void 0, void 0, void 0, function () {
66
+ var user, expandButton, matchRules;
67
+ return __generator(this, function (_a) {
68
+ switch (_a.label) {
69
+ case 0:
70
+ user = setUp().user;
71
+ expect(screen.getByText(defaultProps.label)).toBeInTheDocument();
72
+ expect(screen.queryByTestId('simple-match-rules')).not.toBeInTheDocument();
73
+ expandButton = screen.getByTestId('arrow-expand-button');
74
+ expect(expandButton.firstChild).not.toHaveClass('expanded');
75
+ return [4 /*yield*/, user.click(expandButton)];
76
+ case 1:
77
+ _a.sent();
78
+ expect(expandButton.firstChild).toHaveClass('expanded');
79
+ expect(screen.getByTestId('simple-match-rules')).toBeInTheDocument();
80
+ expect(screen.getByText('Match rules')).toBeInTheDocument();
81
+ matchRules = screen.getAllByTestId('match-rule-info');
82
+ expect(matchRules).toHaveLength(defaultProps.matchRules.length);
83
+ expect(matchRules[0]).toHaveTextContent('• label1');
84
+ expect(matchRules[1]).toHaveTextContent('• label2');
85
+ return [4 /*yield*/, user.click(screen.getByTestId('arrow-expand-button'))];
86
+ case 2:
87
+ _a.sent();
88
+ expect(expandButton.firstChild).not.toHaveClass('expanded');
89
+ expect(screen.queryByTestId('simple-match-rules')).not.toBeInTheDocument();
90
+ return [2 /*return*/];
91
+ }
49
92
  });
50
- component.update();
51
- expect(getArrowExpandButton(component).prop('expanded')).toBe(true);
52
- });
93
+ }); });
53
94
  });
@@ -6,7 +6,7 @@ export var TransitiveMatchRulesTooltip = function (_a) {
6
6
  var styles = useStyles();
7
7
  return (React.createElement(React.Fragment, null, transitiveMatchRules.map(function (_a, index) {
8
8
  var label = _a.label, matchRules = _a.matchRules;
9
- return (React.createElement("div", { key: index, className: styles.ruleWrapper },
9
+ return (React.createElement("div", { key: index, "data-reltio-id": "match-rule-wrapper", className: styles.ruleWrapper },
10
10
  React.createElement("div", { className: styles.label }, label),
11
11
  React.createElement(MatchRulesTooltip, { matchRules: matchRules })));
12
12
  })));
@@ -1,26 +1,20 @@
1
1
  import React from 'react';
2
- import { shallow } from 'enzyme';
2
+ import { render, screen, within } from '@testing-library/react';
3
3
  import { TransitiveMatchRulesTooltip } from './TransitiveMatchRulesTooltip';
4
- import { MatchRulesTooltip } from '../MatchRulesTooltip';
5
4
  describe('TransitiveMatchRulesTooltip tests', function () {
6
5
  var rules = [
7
- { label: 'label1', matchRules: [{ uri: 'uri1', label: 'label1' }] },
8
- { label: 'label2', matchRules: [{ uri: 'uri2', label: 'label2' }] }
6
+ { label: 'label1', matchRules: [{ uri: 'uri1', label: 'label11' }] },
7
+ { label: 'label2', matchRules: [{ uri: 'uri2', label: 'label22' }] }
9
8
  ];
10
- var getLabel = function (component) { return component.find('.label'); };
11
- var getMatchRulesTooltip = function (component) { return component.find(MatchRulesTooltip); };
12
9
  it('should render all rules', function () {
13
- var component = shallow(React.createElement(TransitiveMatchRulesTooltip, { transitiveMatchRules: rules }));
14
- expect(component.find('.ruleWrapper')).toHaveLength(rules.length);
15
- });
16
- it('should render correct label for rule', function () {
17
- var component = shallow(React.createElement(TransitiveMatchRulesTooltip, { transitiveMatchRules: rules }));
18
- expect(getLabel(component.find('.ruleWrapper').at(0)).text()).toBe(rules[0].label);
19
- expect(getLabel(component.find('.ruleWrapper').at(1)).text()).toBe(rules[1].label);
20
- });
21
- it('should provide correct props for MatchRulesTooltip', function () {
22
- var component = shallow(React.createElement(TransitiveMatchRulesTooltip, { transitiveMatchRules: rules }));
23
- expect(getMatchRulesTooltip(component.find('.ruleWrapper').at(0)).prop('matchRules')).toBe(rules[0].matchRules);
24
- expect(getMatchRulesTooltip(component.find('.ruleWrapper').at(1)).prop('matchRules')).toBe(rules[1].matchRules);
10
+ render(React.createElement(TransitiveMatchRulesTooltip, { transitiveMatchRules: rules }));
11
+ var matchRules = screen.getAllByTestId('match-rule-wrapper');
12
+ expect(matchRules).toHaveLength(rules.length);
13
+ expect(within(matchRules[0]).getByText('label1')).toBeInTheDocument();
14
+ expect(within(matchRules[0]).getByText('Match rules')).toBeInTheDocument();
15
+ expect(within(matchRules[0]).getByText('- label11')).toBeInTheDocument();
16
+ expect(within(matchRules[1]).getByText('label2')).toBeInTheDocument();
17
+ expect(within(matchRules[1]).getByText('Match rules')).toBeInTheDocument();
18
+ expect(within(matchRules[1]).getByText('- label22')).toBeInTheDocument();
25
19
  });
26
20
  });
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  type Props = {
3
- link: string;
4
- filename: string;
3
+ link?: string;
4
+ filename?: string;
5
5
  onUpload: (result: File) => Promise<void>;
6
6
  onError?: (error: Error) => void;
7
7
  onCancel: () => void;
@@ -0,0 +1,199 @@
1
+ var __assign = (this && this.__assign) || function () {
2
+ __assign = Object.assign || function(t) {
3
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
4
+ s = arguments[i];
5
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
6
+ t[p] = s[p];
7
+ }
8
+ return t;
9
+ };
10
+ return __assign.apply(this, arguments);
11
+ };
12
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
13
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
14
+ return new (P || (P = Promise))(function (resolve, reject) {
15
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
16
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
17
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
18
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
19
+ });
20
+ };
21
+ var __generator = (this && this.__generator) || function (thisArg, body) {
22
+ 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);
23
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
24
+ function verb(n) { return function (v) { return step([n, v]); }; }
25
+ function step(op) {
26
+ if (f) throw new TypeError("Generator is already executing.");
27
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
28
+ 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;
29
+ if (y = 0, t) op = [op[0] & 2, t.value];
30
+ switch (op[0]) {
31
+ case 0: case 1: t = op; break;
32
+ case 4: _.label++; return { value: op[1], done: false };
33
+ case 5: _.label++; y = op[1]; op = [0]; continue;
34
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
35
+ default:
36
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
37
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
38
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
39
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
40
+ if (t[2]) _.ops.pop();
41
+ _.trys.pop(); continue;
42
+ }
43
+ op = body.call(thisArg, _);
44
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
45
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
46
+ }
47
+ };
48
+ import React from 'react';
49
+ import { render, screen } from '@testing-library/react';
50
+ import userEvent from '@testing-library/user-event';
51
+ import { ErrorPopup } from '../ErrorPopup';
52
+ import { getMuiIconByName } from '../test-utils';
53
+ import { UploadFileButton } from './UploadFileButton';
54
+ describe('UploadFileButton tests', function () {
55
+ var defaultProps = {
56
+ onCancel: jest.fn(),
57
+ onError: jest.fn(),
58
+ onUpload: jest.fn().mockResolvedValue({ link: 'link' }),
59
+ supportedFileTypes: ['.txt', '.csv']
60
+ };
61
+ var setUp = function (props) {
62
+ if (props === void 0) { props = {}; }
63
+ var user = userEvent.setup();
64
+ return __assign({ user: user }, render(React.createElement(UploadFileButton, __assign({}, defaultProps, props))));
65
+ };
66
+ beforeEach(function () {
67
+ jest.clearAllMocks();
68
+ });
69
+ describe('init mode behavior', function () {
70
+ it('should show upload button by default', function () {
71
+ setUp();
72
+ expect(screen.getByRole('button', { name: 'Select File' })).toBeInTheDocument();
73
+ });
74
+ it('should set correct properties for input', function () {
75
+ setUp();
76
+ expect(screen.getByText('Select File')).toBeInTheDocument();
77
+ var fileUploader = screen.getByTestId('file-uploader');
78
+ expect(fileUploader).toHaveAttribute('accept', '.txt,.csv');
79
+ expect(fileUploader).toHaveAttribute('type', 'file');
80
+ });
81
+ it('should call onUpload', function () { return __awaiter(void 0, void 0, void 0, function () {
82
+ var user, file;
83
+ return __generator(this, function (_a) {
84
+ switch (_a.label) {
85
+ case 0:
86
+ user = setUp().user;
87
+ file = new File(['file'], 'file.csv', { type: 'text/csv' });
88
+ return [4 /*yield*/, user.upload(screen.getByTestId('file-uploader'), file)];
89
+ case 1:
90
+ _a.sent();
91
+ expect(defaultProps.onUpload).toHaveBeenCalledWith(file);
92
+ return [2 /*return*/];
93
+ }
94
+ });
95
+ }); });
96
+ it('should invoke onError on file upload error', function () { return __awaiter(void 0, void 0, void 0, function () {
97
+ var errorMessage, onUpload, user, file;
98
+ return __generator(this, function (_a) {
99
+ switch (_a.label) {
100
+ case 0:
101
+ errorMessage = 'Error';
102
+ onUpload = jest.fn().mockRejectedValue(errorMessage);
103
+ user = setUp({ onUpload: onUpload }).user;
104
+ file = new File(['file'], 'file.csv', { type: 'text/csv' });
105
+ return [4 /*yield*/, user.upload(screen.getByTestId('file-uploader'), file)];
106
+ case 1:
107
+ _a.sent();
108
+ expect(defaultProps.onError).toHaveBeenCalledWith(errorMessage);
109
+ return [2 /*return*/];
110
+ }
111
+ });
112
+ }); });
113
+ it('should use default onError prop if it is not specified', function () { return __awaiter(void 0, void 0, void 0, function () {
114
+ var errorMessage, addErrorSpy, onUpload, user, file;
115
+ return __generator(this, function (_a) {
116
+ switch (_a.label) {
117
+ case 0:
118
+ errorMessage = 'Error';
119
+ addErrorSpy = jest.spyOn(ErrorPopup, 'addError');
120
+ onUpload = jest.fn().mockRejectedValue(errorMessage);
121
+ user = setUp({ onUpload: onUpload, onError: undefined }).user;
122
+ file = new File(['file'], 'file.csv', { type: 'text/csv' });
123
+ return [4 /*yield*/, user.upload(screen.getByTestId('file-uploader'), file)];
124
+ case 1:
125
+ _a.sent();
126
+ expect(addErrorSpy).toHaveBeenCalledWith({
127
+ title: 'File upload error',
128
+ message: errorMessage
129
+ });
130
+ return [2 /*return*/];
131
+ }
132
+ });
133
+ }); });
134
+ it('should use errorMessage for error popup if it available', function () { return __awaiter(void 0, void 0, void 0, function () {
135
+ var errorObject, addErrorSpy, onUpload, user, file;
136
+ return __generator(this, function (_a) {
137
+ switch (_a.label) {
138
+ case 0:
139
+ errorObject = { errorMessage: 'errorMessage text' };
140
+ addErrorSpy = jest.spyOn(ErrorPopup, 'addError');
141
+ onUpload = jest.fn().mockRejectedValue(errorObject);
142
+ user = setUp({ onUpload: onUpload, onError: undefined }).user;
143
+ file = new File(['file'], 'file.csv', { type: 'text/csv' });
144
+ return [4 /*yield*/, user.upload(screen.getByTestId('file-uploader'), file)];
145
+ case 1:
146
+ _a.sent();
147
+ expect(addErrorSpy).toHaveBeenCalledWith({
148
+ title: 'File upload error',
149
+ message: errorObject.errorMessage
150
+ });
151
+ return [2 /*return*/];
152
+ }
153
+ });
154
+ }); });
155
+ });
156
+ describe('uploaded mode behavior', function () {
157
+ it('should show link and cancel button after file uploading', function () { return __awaiter(void 0, void 0, void 0, function () {
158
+ var user, file;
159
+ return __generator(this, function (_a) {
160
+ switch (_a.label) {
161
+ case 0:
162
+ user = setUp().user;
163
+ file = new File(['file'], 'file.csv', { type: 'text/csv' });
164
+ return [4 /*yield*/, user.upload(screen.getByTestId('file-uploader'), file)];
165
+ case 1:
166
+ _a.sent();
167
+ expect(screen.getByText('file.csv').tagName).toBe('A');
168
+ expect(getMuiIconByName('Cancel')).toBeInTheDocument();
169
+ return [2 /*return*/];
170
+ }
171
+ });
172
+ }); });
173
+ it('should show link and cancel button in uploaded mode', function () {
174
+ setUp({ link: 'link', filename: 'filename' });
175
+ var link = screen.getByRole('link');
176
+ expect(link).toHaveTextContent('filename');
177
+ expect(link).toHaveAttribute('href', 'link');
178
+ expect(getMuiIconByName('Cancel')).toBeInTheDocument();
179
+ });
180
+ it('should render text instead of link if isValidLink prop is false', function () {
181
+ setUp({ link: 'link', filename: 'filename', isValidLink: false });
182
+ expect(screen.getByText('filename')).not.toHaveAttribute('href');
183
+ expect(screen.queryByRole('link')).not.toBeInTheDocument();
184
+ });
185
+ it('should invoke onCancel on cancel icon click', function () { return __awaiter(void 0, void 0, void 0, function () {
186
+ return __generator(this, function (_a) {
187
+ switch (_a.label) {
188
+ case 0:
189
+ setUp({ link: 'link', filename: 'filename' });
190
+ return [4 /*yield*/, userEvent.click(getMuiIconByName('Cancel'))];
191
+ case 1:
192
+ _a.sent();
193
+ expect(defaultProps.onCancel).toHaveBeenCalled();
194
+ return [2 /*return*/];
195
+ }
196
+ });
197
+ }); });
198
+ });
199
+ });
@@ -85,6 +85,7 @@ describe('UploadImageDialog tests', function () {
85
85
  setUp();
86
86
  expect(screen.getByText('Drag an image here')).toBeInTheDocument();
87
87
  expect(screen.getByText("Acceptable image types would include JPG, PNG, TIFF, GIF, BMP. Maximum image size: ".concat(MAX_IMAGE_SIZE, "Mb"))).toBeInTheDocument();
88
+ expect(screen.getByTestId('divider-with-text')).toHaveTextContent('or');
88
89
  expect(screen.getByPlaceholderText('Paste an image URL here')).toBeInTheDocument();
89
90
  expect(screen.getByText('Select image')).toBeInTheDocument();
90
91
  expect(screen.getByText('Send')).toBeInTheDocument();
@@ -6,7 +6,7 @@ import { useStyles } from './styles';
6
6
  export var DividerWithText = function (_a) {
7
7
  var children = _a.children, className = _a.className;
8
8
  var styles = useStyles();
9
- return (React.createElement(Box, { className: classnames(styles.root, className) },
9
+ return (React.createElement(Box, { "data-reltio-id": "divider-with-text", className: classnames(styles.root, className) },
10
10
  React.createElement(Box, { className: styles.border }),
11
11
  React.createElement(Typography, { className: styles.text }, children),
12
12
  React.createElement(Box, { className: styles.border })));