@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
@@ -1,137 +0,0 @@
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 { DependentLookupEditor } from './DependentLookupEditor';
50
- import { render, screen, act } from '@testing-library/react';
51
- import userEvent from '@testing-library/user-event';
52
- var onChange = jest.fn();
53
- var getLookups = jest.fn().mockResolvedValue({
54
- AR: {
55
- displayName: 'Argentina'
56
- },
57
- BG: {
58
- displayName: 'Bulgaria'
59
- },
60
- CN: {
61
- displayName: 'China'
62
- }
63
- });
64
- var resolveLookups = jest.fn();
65
- var defaultProps = {
66
- value: {
67
- value: 'Portugal',
68
- lookupCode: 'PT'
69
- },
70
- lookups: {
71
- COUNTRY_CD: {
72
- PT: {
73
- displayName: 'Portugal'
74
- }
75
- }
76
- },
77
- lookupCode: 'COUNTRY_CD',
78
- error: false,
79
- parents: [],
80
- disabled: false,
81
- placeholder: '',
82
- TextFieldProps: {},
83
- onChange: onChange,
84
- getLookups: getLookups,
85
- resolveLookups: resolveLookups
86
- };
87
- var setUp = function (props) {
88
- if (props === void 0) { props = defaultProps; }
89
- var user = userEvent.setup();
90
- return __assign({ user: user }, render(React.createElement(DependentLookupEditor, __assign({}, props))));
91
- };
92
- describe('DependentLookupEditor tests', function () {
93
- afterEach(function () {
94
- jest.clearAllMocks();
95
- });
96
- it('should render components correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
97
- var user;
98
- return __generator(this, function (_a) {
99
- switch (_a.label) {
100
- case 0:
101
- user = setUp().user;
102
- expect(screen.getByRole('combobox')).toHaveValue('Portugal (PT)');
103
- return [4 /*yield*/, user.click(screen.getByRole('combobox'))];
104
- case 1:
105
- _a.sent();
106
- expect(screen.getByText('Argentina (AR)')).toBeInTheDocument();
107
- expect(screen.getByText('China (CN)')).toBeInTheDocument();
108
- expect(screen.getByText('Bulgaria (BG)')).toBeInTheDocument();
109
- return [2 /*return*/];
110
- }
111
- });
112
- }); });
113
- it('should show input value when select is disabled', function () { return __awaiter(void 0, void 0, void 0, function () {
114
- return __generator(this, function (_a) {
115
- switch (_a.label) {
116
- case 0:
117
- setUp(__assign(__assign({}, defaultProps), { disabled: true }));
118
- return [4 /*yield*/, act(function () { return __awaiter(void 0, void 0, void 0, function () {
119
- return __generator(this, function (_a) {
120
- switch (_a.label) {
121
- case 0: return [4 /*yield*/, Promise.resolve()];
122
- case 1:
123
- _a.sent();
124
- return [2 /*return*/];
125
- }
126
- });
127
- }); })];
128
- case 1:
129
- _a.sent();
130
- expect(screen.getByRole('combobox')).toHaveValue('Portugal (PT)');
131
- expect(screen.getByRole('combobox')).toHaveAttribute('disabled');
132
- expect(screen.getByRole('combobox')).toBeVisible();
133
- return [2 /*return*/];
134
- }
135
- });
136
- }); });
137
- });
@@ -1,32 +0,0 @@
1
- import React from 'react';
2
- import { shallow } from 'enzyme';
3
- import { act } from 'react-dom/test-utils';
4
- import { DefaultMenuItemRenderer } from './DefaultMenuItemRenderer';
5
- describe('DefaultMenuItemRenderer tests', function () {
6
- var item = {
7
- text: 'Test item',
8
- disabled: false,
9
- tooltip: 'Test item tooltip',
10
- onClick: jest.fn()
11
- };
12
- it('should render main parts', function () {
13
- var component = shallow(React.createElement(DefaultMenuItemRenderer, { item: item }));
14
- var menuItem = component.find('WithTooltip');
15
- expect(menuItem).toHaveLength(1);
16
- expect(menuItem.props()).toMatchObject({
17
- tooltipTitle: item.tooltip,
18
- disabled: item.disabled
19
- });
20
- expect(menuItem.text()).toBe(item.text);
21
- });
22
- it('should call onClick and onMenuClose on item click', function () {
23
- var onMenuClose = jest.fn();
24
- var component = shallow(React.createElement(DefaultMenuItemRenderer, { item: item, onMenuClose: onMenuClose }));
25
- act(function () {
26
- component.find('WithTooltip').simulate('click');
27
- });
28
- component.update();
29
- expect(item.onClick).toHaveBeenCalled();
30
- expect(onMenuClose).toHaveBeenCalled();
31
- });
32
- });
@@ -1,106 +0,0 @@
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 __rest = (this && this.__rest) || function (s, e) {
13
- var t = {};
14
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
15
- t[p] = s[p];
16
- if (s != null && typeof Object.getOwnPropertySymbols === "function")
17
- for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
18
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
19
- t[p[i]] = s[p[i]];
20
- }
21
- return t;
22
- };
23
- import React from 'react';
24
- import { shallow } from 'enzyme';
25
- import { EditModeAttribute } from './EditModeAttribute';
26
- import { isReltioCrosswalk } from '@reltio/mdm-sdk';
27
- import { SimpleAttributeEditor } from '../../../SimpleAttributeEditor';
28
- import { NestedAttributeEditor } from '../../../NestedAttributeEditor';
29
- import { ReferenceAttributeEditor } from '../../../ReferenceAttributeEditor';
30
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { isReltioCrosswalk: jest.fn() })); });
31
- describe('EditModeAttribute', function () {
32
- it('should render Simple attribute', function () {
33
- var props = {
34
- attributeType: {
35
- type: 'String'
36
- },
37
- attributeValue: {
38
- uri: '123'
39
- }
40
- };
41
- var component = shallow(React.createElement(EditModeAttribute, __assign({}, props)));
42
- expect(component.find(SimpleAttributeEditor).length).toBe(1);
43
- expect(component.find(NestedAttributeEditor).length).toBe(0);
44
- });
45
- it('should render Nested attribute', function () {
46
- var props = {
47
- attributeType: {
48
- type: 'Nested'
49
- },
50
- attributeValue: {
51
- uri: '123'
52
- },
53
- showEmptyEditors: true,
54
- onAddAttributes: function () { },
55
- lazy: true,
56
- crosswalks: null
57
- };
58
- var component = shallow(React.createElement(EditModeAttribute, __assign({}, props)));
59
- expect(component.find(SimpleAttributeEditor).length).toBe(0);
60
- expect(component.find(ReferenceAttributeEditor).length).toBe(0);
61
- expect(component.find(NestedAttributeEditor).length).toBe(1);
62
- expect(component.find(NestedAttributeEditor).props()).toEqual(props);
63
- });
64
- it('should render Reference attribute', function () {
65
- var props = {
66
- attributeType: {
67
- type: 'Reference'
68
- },
69
- attributeValue: {
70
- uri: '123'
71
- },
72
- showEmptyEditors: true,
73
- onAddAttributes: function () { },
74
- lazy: true,
75
- crosswalks: null
76
- };
77
- var component = shallow(React.createElement(EditModeAttribute, __assign({}, props)));
78
- expect(component.find(SimpleAttributeEditor).length).toBe(0);
79
- expect(component.find(NestedAttributeEditor).length).toBe(0);
80
- expect(component.find(ReferenceAttributeEditor).length).toBe(1);
81
- expect(component.find(ReferenceAttributeEditor).props()).toEqual(props);
82
- });
83
- it('should filter props for simple attribute and calculate isReltioCrosswalk', function () {
84
- var props = {
85
- attributeType: 'String',
86
- attributeValue: {
87
- uri: '123'
88
- },
89
- showEmptyEditors: true,
90
- onAddAttributes: function () { },
91
- lazy: true,
92
- crosswalks: [{}, {}],
93
- errors: [],
94
- error: {}
95
- };
96
- isReltioCrosswalk.mockReturnValue(true);
97
- var component = shallow(React.createElement(EditModeAttribute, __assign({}, props)));
98
- expect(component.find(SimpleAttributeEditor).length).toBe(1);
99
- expect(component.find(NestedAttributeEditor).length).toBe(0);
100
- expect(component.find(ReferenceAttributeEditor).length).toBe(0);
101
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
102
- var showEmptyEditors = props.showEmptyEditors, onAddAttributes = props.onAddAttributes, lazy = props.lazy, crosswalks = props.crosswalks, errors = props.errors, filteredProps = __rest(props, ["showEmptyEditors", "onAddAttributes", "lazy", "crosswalks", "errors"]);
103
- expect(component.find(SimpleAttributeEditor).props()).toEqual(__assign(__assign({}, filteredProps), { isReltioCrosswalk: true }));
104
- expect(isReltioCrosswalk).toHaveBeenCalledWith(props.crosswalks, props.attributeValue);
105
- });
106
- });
@@ -1,338 +0,0 @@
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
- import React from 'react';
13
- import { mount } from 'enzyme';
14
- import { act } from 'react-dom/test-utils';
15
- import { ErrorType, Mode } from '@reltio/mdm-sdk';
16
- import { EditModeAttribute } from '../../../EditModeAttributesFactory';
17
- import { CardinalityMessage } from '../../../CardinalityMessage';
18
- import { ErrorMessage } from '../../../ErrorMessage';
19
- import { AttributeTitle } from '../../../AttributeTitle';
20
- import { ShowMore } from '../../../ShowMore';
21
- import { ShowLess } from '../../../ShowLess';
22
- import AttributeRenderer from './AttributeRenderer';
23
- import { BranchDecorator } from '../../../BranchDecorator';
24
- import { OvIcon } from '../../../OvIcon';
25
- import { EmptyStub } from '../../../EmptyStub';
26
- import { useScrollToAttributeError } from '../../../hooks/useScrollToAttributeError';
27
- import { ScrollType } from '../../../contexts/ScrollToElementContext';
28
- import { FeaturesContext } from '../../../contexts/FeaturesContext';
29
- import { PinnedAttributesContext } from '../../../contexts/PinnedAttributesContext';
30
- import { DescriptionIcon } from '../../../DescriptionIcon';
31
- jest.mock('../../../EditModeAttributesFactory', function () { return ({
32
- EditModeAttribute: jest.fn()
33
- }); });
34
- jest.mock('../../../OvIcon', function () { return ({
35
- OvIcon: jest.fn()
36
- }); });
37
- jest.mock('../../../hooks/useScrollToAttributeError', function () { return (__assign(__assign({}, jest.requireActual('../../../hooks/useScrollToAttributeError')), { useScrollToAttributeError: jest.fn() })); });
38
- describe('AttributeRenderer', function () {
39
- var attributeType = {
40
- uri: 'configuration/entityTypes/HCP/attributes/Simple',
41
- type: 'String',
42
- name: 'Simple',
43
- label: 'Simple label',
44
- description: 'Description for Simple'
45
- };
46
- var values = [
47
- {
48
- type: attributeType.uri,
49
- uri: 'entities/sIeHttl/attributes/Simple/u123',
50
- value: '123',
51
- ov: true
52
- },
53
- {
54
- type: attributeType.uri,
55
- uri: 'entities/sIeHttl/attributes/Simple/u456',
56
- value: '456',
57
- ov: true
58
- }
59
- ];
60
- var nonVisibleValues = [
61
- {
62
- type: attributeType.uri,
63
- uri: 'entities/sIeHttl/attributes/Simple/u789',
64
- value: '456',
65
- ov: false
66
- }
67
- ];
68
- var additionalControlsRenderer = function () { return React.createElement(React.Fragment, null); };
69
- var scrollToAttributeError = {
70
- ref: React.createRef(),
71
- errorClassName: 'errorClassName',
72
- path: []
73
- };
74
- var highlightErrorSpy = jest.fn();
75
- var scrollIntoRefSpy = jest.fn();
76
- var showDescription = true;
77
- var setUp = function (props, pinnedAttributes, highlightedError) {
78
- if (pinnedAttributes === void 0) { pinnedAttributes = []; }
79
- if (highlightedError === void 0) { highlightedError = null; }
80
- return mount(React.createElement(PinnedAttributesContext.Provider, { value: pinnedAttributes },
81
- React.createElement(FeaturesContext.Provider, { value: { showDescription: showDescription } },
82
- React.createElement(AttributeRenderer, __assign({}, props, { highlightedError: highlightedError })))));
83
- };
84
- beforeAll(function () {
85
- OvIcon.mockImplementation(EmptyStub);
86
- EditModeAttribute.mockImplementation(EmptyStub);
87
- useScrollToAttributeError.mockReturnValue(scrollToAttributeError);
88
- });
89
- beforeEach(function () {
90
- jest.clearAllMocks();
91
- });
92
- var defaultProps = {
93
- attributeType: attributeType,
94
- values: values,
95
- nonVisibleValues: nonVisibleValues,
96
- mode: Mode.Editing,
97
- parentUri: 'entities/sIeHttl',
98
- drawLines: false,
99
- max: 10,
100
- showEmptyEditors: true,
101
- errorMessage: '',
102
- errors: [],
103
- paging: {},
104
- crosswalks: [],
105
- showNonOv: true,
106
- onAddAttributes: jest.fn(),
107
- onDeleteAttribute: jest.fn(),
108
- onChangeAttribute: jest.fn(),
109
- onDeactivateError: jest.fn(),
110
- additionalControlsRenderer: additionalControlsRenderer,
111
- requestNextPageOfAttributeValues: jest.fn()
112
- };
113
- it('should render main parts', function () {
114
- var props = __assign({}, defaultProps);
115
- var component = setUp(props);
116
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
117
- var wrapper = component.find('.wrapper');
118
- expect(wrapper.hasClass(scrollToAttributeError.errorClassName)).toBeTruthy();
119
- expect(wrapper.getElement().ref).toBe(scrollToAttributeError.ref);
120
- var decorator = component.find(BranchDecorator);
121
- expect(decorator.prop('enabled')).toBe(props.drawLines);
122
- expect(decorator.find(AttributeTitle).length).toBe(1);
123
- expect(decorator.find(AttributeTitle).prop('label')).toBe(props.attributeType.label);
124
- expect(decorator.find(DescriptionIcon).length).toBe(1);
125
- expect(decorator.find(DescriptionIcon).prop('description')).toBe(props.attributeType.description);
126
- expect(decorator.find(OvIcon).length).toBe(1);
127
- expect(decorator.find(OvIcon).props()).toEqual({
128
- nonOvValues: nonVisibleValues,
129
- attributeType: attributeType,
130
- className: 'ovIcon',
131
- nonOvTotal: 1
132
- });
133
- expect(decorator.find(CardinalityMessage).length).toBe(1);
134
- expect(decorator.find(ErrorMessage).length).toBe(1);
135
- expect(decorator.find(ShowMore).length).toBe(0);
136
- expect(decorator.find(ShowLess).length).toBe(0);
137
- expect(decorator.find(EditModeAttribute).length).toBe(2);
138
- });
139
- it('should set correct props for Attribute component', function () {
140
- var props = __assign(__assign({}, defaultProps), { errors: [
141
- {
142
- parentUri: defaultProps.parentUri,
143
- uri: values[0].uri,
144
- attributeTypeUri: attributeType.uri,
145
- message: 'Attribute is invalid',
146
- type: ErrorType.invalid
147
- }
148
- ], showEmptyEditors: true });
149
- var component = setUp(props);
150
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
151
- var attributes = component.find(EditModeAttribute);
152
- expect(attributes.length).toBe(2);
153
- attributes.forEach(function (attribute, i) {
154
- var isLast = i === attributes.length - 1;
155
- expect(attribute.prop('attributeValue')).toBe(props.values[i]);
156
- expect(attribute.prop('attributeType')).toBe(props.attributeType);
157
- expect(attribute.prop('lazy')).toBeFalsy();
158
- expect(attribute.prop('showEmptyEditors')).toBe(props.showEmptyEditors);
159
- expect(attribute.prop('mode')).toBe(props.mode);
160
- expect(attribute.prop('crosswalks')).toBe(props.crosswalks);
161
- expect(attribute.prop('errors')).toBe(props.errors);
162
- expect(attribute.prop('ownError')).toBe(i === 0 ? props.errors[0] : undefined);
163
- // eslint-disable-next-line jest/no-conditional-expect
164
- expect(attribute.prop('onAddOneMore')).toEqual(isLast ? expect.any(Function) : null);
165
- expect(attribute.prop('onDeleteAttribute')).toEqual(expect.any(Function));
166
- expect(attribute.prop('onAddAttributes')).toBe(props.onAddAttributes);
167
- expect(attribute.prop('onChangeAttribute')).toBe(props.onChangeAttribute);
168
- expect(attribute.prop('onDeactivateError')).toBe(props.onDeactivateError);
169
- expect(attribute.prop('additionalControlsRenderer')).toBe(props.additionalControlsRenderer);
170
- if (isLast) {
171
- act(function () {
172
- var onAddOneMore = attribute.prop('onAddOneMore');
173
- onAddOneMore();
174
- });
175
- // eslint-disable-next-line jest/no-conditional-expect
176
- expect(props.onAddAttributes).toHaveBeenCalledWith([
177
- {
178
- parentUri: props.parentUri,
179
- index: props.max,
180
- attributeType: props.attributeType
181
- }
182
- ]);
183
- }
184
- act(function () {
185
- var onDeleteAttribute = attribute.prop('onDeleteAttribute');
186
- onDeleteAttribute();
187
- });
188
- expect(props.onDeleteAttribute).toHaveBeenCalled();
189
- });
190
- });
191
- it('should display errorMessage prop value inside ErrorMessage component', function () {
192
- var props = __assign(__assign({}, defaultProps), { errorMessage: '123' });
193
- var component = setUp(props);
194
- expect(component.find(ErrorMessage).prop('message')).toBe(props.errorMessage);
195
- });
196
- it('should map "missed" error with appropriate attributeTypeUri to first attribute value', function () {
197
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true, errors: [
198
- {
199
- parentUri: defaultProps.parentUri,
200
- uri: '',
201
- attributeTypeUri: attributeType.uri,
202
- message: 'Attribute is invalid',
203
- type: ErrorType.invalid
204
- },
205
- {
206
- parentUri: defaultProps.parentUri,
207
- uri: '',
208
- attributeTypeUri: attributeType.uri,
209
- message: 'Attribute is required',
210
- type: ErrorType.missed
211
- }
212
- ] });
213
- var component = setUp(props);
214
- expect(component.find(EditModeAttribute).prop('ownError')).toBe(props.errors[1]);
215
- });
216
- it('should return null if values are undefined and showEmptyEditors is falsy', function () {
217
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: false });
218
- var component = setUp(props);
219
- expect(component.find(AttributeRenderer).children()).toHaveLength(0);
220
- });
221
- it('should return null if there are no values and showEmptyEditors is falsy', function () {
222
- var props = __assign(__assign({}, defaultProps), { values: [], showEmptyEditors: false });
223
- var component = setUp(props);
224
- expect(component.find(AttributeRenderer).children()).toHaveLength(0);
225
- });
226
- it('should render special "empty" attribute if values are undefined and showEmptyEditors is true', function () {
227
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true });
228
- var component = setUp(props);
229
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
230
- var attribute = component.find(EditModeAttribute);
231
- expect(attribute.length).toBe(1);
232
- expect(attribute.prop('attributeValue')).toEqual({
233
- type: attributeType.uri,
234
- uri: expect.stringContaining('entities/sIeHttl/attributes/Simple/uri$$'),
235
- value: '',
236
- ov: true
237
- });
238
- });
239
- it('should render special "empty" attribute if values are undefined and attribute are required', function () {
240
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { required: true }), values: undefined, showEmptyEditors: false });
241
- var component = setUp(props);
242
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
243
- var attribute = component.find(EditModeAttribute);
244
- expect(attribute.length).toBe(1);
245
- expect(attribute.prop('attributeValue')).toEqual({
246
- type: attributeType.uri,
247
- uri: expect.stringContaining('entities/sIeHttl/attributes/Simple/uri$$'),
248
- value: '',
249
- ov: true
250
- });
251
- });
252
- it('should add 2 attributes on addOneMore for Simple "empty" attribute', function () {
253
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true, onAddAttributes: jest.fn() });
254
- var component = setUp(props);
255
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
256
- var attribute = component.find(EditModeAttribute);
257
- expect(attribute.length).toBe(1);
258
- act(function () {
259
- var onAddOneMore = attribute.prop('onAddOneMore');
260
- onAddOneMore();
261
- });
262
- expect(props.onAddAttributes).toHaveBeenCalledWith([
263
- {
264
- parentUri: props.parentUri,
265
- index: props.max,
266
- attributeType: props.attributeType
267
- },
268
- {
269
- parentUri: props.parentUri,
270
- index: props.max,
271
- attributeType: props.attributeType
272
- }
273
- ]);
274
- });
275
- it('should add 1 attribute on addOneMore for Nested "empty" attribute', function () {
276
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { type: 'Nested' }), values: undefined, showEmptyEditors: true, onAddAttributes: jest.fn() });
277
- var component = setUp(props);
278
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
279
- var attribute = component.find(EditModeAttribute);
280
- expect(attribute.length).toBe(1);
281
- act(function () {
282
- var onAddOneMore = attribute.prop('onAddOneMore');
283
- onAddOneMore();
284
- });
285
- expect(props.onAddAttributes).toHaveBeenCalledWith([
286
- {
287
- parentUri: props.parentUri,
288
- index: props.max,
289
- attributeType: props.attributeType
290
- }
291
- ]);
292
- });
293
- it('should return null if values are undefined, showEmptyEditors is true but delete operation was performed', function () {
294
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true });
295
- var component = setUp(props);
296
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
297
- var attribute = component.find(EditModeAttribute);
298
- act(function () {
299
- var onDeleteAttribute = attribute.prop('onDeleteAttribute');
300
- onDeleteAttribute();
301
- });
302
- component.update();
303
- expect(component.find(AttributeRenderer).children()).toHaveLength(0);
304
- });
305
- it('should render special "empty" attribute if values are undefined and attribute is pinned', function () {
306
- var props = __assign(__assign({}, defaultProps), { attributeType: attributeType, values: undefined, showEmptyEditors: false });
307
- var component = setUp(props, [attributeType.uri]);
308
- expect(component.find(AttributeRenderer).children()).not.toHaveLength(0);
309
- var attribute = component.find(EditModeAttribute);
310
- expect(attribute.length).toBe(1);
311
- expect(attribute.prop('attributeValue')).toEqual({
312
- type: attributeType.uri,
313
- uri: expect.stringContaining('entities/sIeHttl/attributes/Simple/uri$$'),
314
- value: '',
315
- ov: true
316
- });
317
- });
318
- describe('useScrollToAttributeError tests', function () {
319
- var fullError = {
320
- type: 'invalid',
321
- attributeTypeUri: attributeType.uri,
322
- parentUri: defaultProps.parentUri,
323
- uri: 'entities/sIeHttl/attributes/Address/edEosww/AddressType/uri$$1627902448724',
324
- source: 'validationService',
325
- severity: 'ERROR'
326
- };
327
- it('should highlight error if it have same parent uri, empty uri, and attribute type uri', function () {
328
- var highlightedError = {
329
- element: __assign(__assign({}, fullError), { uri: '' }),
330
- highlightError: highlightErrorSpy,
331
- scrollIntoRef: scrollIntoRefSpy,
332
- type: ScrollType.Error
333
- };
334
- setUp(defaultProps, [], highlightedError);
335
- expect(useScrollToAttributeError.mock.calls[0][0]).toMatchObject({ highlightedError: highlightedError });
336
- });
337
- });
338
- });