@reltio/components 1.4.2044 → 1.4.2046

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (175) hide show
  1. package/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  2. package/BasicTable/BasicTable.test.js +232 -278
  3. package/BlobRenderer/BlobRenderer.js +1 -1
  4. package/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  5. package/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  6. package/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  7. package/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  8. package/DeleteButton/DeleteButton.spec.js +53 -15
  9. package/DependentLookupEditor/DependentLookupEditor.test.js +555 -807
  10. package/Drawer/Drawer.test.js +9 -20
  11. package/DropDownEditor/DropDownEditor.test.js +81 -29
  12. package/DropDownMenuButton/DropDownMenuButton.spec.js +101 -70
  13. package/DropDownSelector/DropDownSelector.test.js +159 -30
  14. package/EditModeAttributesFactory/EditModeAttributesFactory.test.js +143 -0
  15. package/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  16. package/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  17. package/EditModeAttributesList/attributes.test-data.js +1 -1
  18. package/EditModeAttributesPager/EditModeAttributesPager.test.js +698 -234
  19. package/EditModeAttributesPager/helpers.test.js +2 -12
  20. package/EditModeAttributesView/EditModeAttributesView.test.js +263 -157
  21. package/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  22. package/EditModeComplexAttribute/EditModeComplexAttribute.test.js +313 -298
  23. package/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  24. package/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  25. package/EmptyState/EmptyState.test.js +99 -38
  26. package/EntityCreator/EntityCreator.test.js +68 -35
  27. package/EntitySelector/EntitySelector.js +1 -1
  28. package/EntitySelector/EntitySelector.test.js +275 -422
  29. package/EntityTypeIcon/EntityTypeIcon.test.js +16 -16
  30. package/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  31. package/ErrorBoundary/ErrorBoundary.test.js +19 -17
  32. package/ErrorMessage/ErrorMessage.js +1 -1
  33. package/ErrorPopup/ErrorPopup.test.js +72 -25
  34. package/ErrorWrapper/ErrorWrapper.test.js +10 -9
  35. package/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  36. package/FileTypeEditor/FileTypeEditor.test.js +95 -64
  37. package/FilterValueEditor/FilterValueEditor.test.js +183 -157
  38. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  39. package/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  40. package/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  41. package/OvIcon/OvIcon.js +2 -2
  42. package/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  43. package/ShowLess/ShowLess.js +1 -1
  44. package/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  45. package/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  46. package/cjs/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
  47. package/cjs/BasicTable/BasicTable.test.js +230 -299
  48. package/cjs/BlobRenderer/BlobRenderer.js +1 -1
  49. package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
  50. package/cjs/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
  51. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
  52. package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
  53. package/cjs/DeleteButton/DeleteButton.spec.js +53 -15
  54. package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +569 -821
  55. package/cjs/Drawer/Drawer.test.js +10 -21
  56. package/cjs/DropDownEditor/DropDownEditor.test.js +81 -29
  57. package/cjs/DropDownMenuButton/DropDownMenuButton.spec.js +102 -71
  58. package/cjs/DropDownSelector/DropDownSelector.test.js +159 -30
  59. package/cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.js +148 -0
  60. package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
  61. package/cjs/EditModeAttributesList/attributes.test-data.d.ts +0 -11
  62. package/cjs/EditModeAttributesList/attributes.test-data.js +1 -1
  63. package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +696 -232
  64. package/cjs/EditModeAttributesPager/helpers.test.js +2 -12
  65. package/cjs/EditModeAttributesView/EditModeAttributesView.test.js +262 -156
  66. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
  67. package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.test.js +312 -297
  68. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
  69. package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
  70. package/cjs/EmptyState/EmptyState.test.js +98 -37
  71. package/cjs/EntityCreator/EntityCreator.test.js +69 -36
  72. package/cjs/EntitySelector/EntitySelector.js +1 -1
  73. package/cjs/EntitySelector/EntitySelector.test.js +274 -421
  74. package/cjs/EntityTypeIcon/EntityTypeIcon.test.js +17 -17
  75. package/cjs/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
  76. package/cjs/ErrorBoundary/ErrorBoundary.test.js +19 -17
  77. package/cjs/ErrorMessage/ErrorMessage.js +1 -1
  78. package/cjs/ErrorPopup/ErrorPopup.test.js +71 -24
  79. package/cjs/ErrorWrapper/ErrorWrapper.test.js +10 -9
  80. package/cjs/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
  81. package/cjs/FileTypeEditor/FileTypeEditor.test.js +95 -64
  82. package/cjs/FilterValueEditor/FilterValueEditor.test.js +182 -156
  83. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
  84. package/cjs/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
  85. package/cjs/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
  86. package/cjs/OvIcon/OvIcon.js +2 -2
  87. package/cjs/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
  88. package/cjs/ShowLess/ShowLess.js +1 -1
  89. package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
  90. package/cjs/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
  91. package/cjs/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  92. package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -2
  93. package/cjs/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -53
  94. package/cjs/test-utils/TestStylesProvider.js +6 -5
  95. package/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
  96. package/contexts/MdmModuleContext/hooks.d.ts +2 -2
  97. package/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -30
  98. package/package.json +2 -2
  99. package/test-utils/TestStylesProvider.js +3 -2
  100. package/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -101
  101. package/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -106
  102. package/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  103. package/BasicTable/IntegrationBasicTable.test.js +0 -203
  104. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  105. package/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -137
  106. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  107. package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -32
  108. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  109. package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -106
  110. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  111. package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -338
  112. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  113. package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -225
  114. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  115. package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -47
  116. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  117. package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -204
  118. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  119. package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -246
  120. package/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  121. package/EditModeAttributesView/metadata.test-data.js +0 -119
  122. package/EntityCreator/entityType.test-data.d.ts +0 -52
  123. package/EntityCreator/entityType.test-data.js +0 -188
  124. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  125. package/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -27
  126. package/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  127. package/EntitySelector/components/EntityOption/EntityOption.test.js +0 -79
  128. package/EntitySelector/components/Group/Group.test.d.ts +0 -1
  129. package/EntitySelector/components/Group/Group.test.js +0 -65
  130. package/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  131. package/EntitySelector/components/SingleValue/SingleValue.test.js +0 -78
  132. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  133. package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -76
  134. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts +0 -1
  135. package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -106
  136. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts +0 -1
  137. package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -111
  138. package/cjs/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
  139. package/cjs/BasicTable/IntegrationBasicTable.test.js +0 -208
  140. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
  141. package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -142
  142. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
  143. package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -37
  144. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
  145. package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -111
  146. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
  147. package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -343
  148. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
  149. package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -230
  150. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
  151. package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -52
  152. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
  153. package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -209
  154. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
  155. package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -251
  156. package/cjs/EditModeAttributesView/metadata.test-data.d.ts +0 -4
  157. package/cjs/EditModeAttributesView/metadata.test-data.js +0 -123
  158. package/cjs/EntityCreator/entityType.test-data.d.ts +0 -52
  159. package/cjs/EntityCreator/entityType.test-data.js +0 -191
  160. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
  161. package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -32
  162. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
  163. package/cjs/EntitySelector/components/EntityOption/EntityOption.test.js +0 -84
  164. package/cjs/EntitySelector/components/Group/Group.test.d.ts +0 -1
  165. package/cjs/EntitySelector/components/Group/Group.test.js +0 -70
  166. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
  167. package/cjs/EntitySelector/components/SingleValue/SingleValue.test.js +0 -83
  168. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
  169. package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -81
  170. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  171. package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -104
  172. package/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
  173. package/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -99
  174. /package/{AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts → EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
  175. /package/{AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts → cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
@@ -1,209 +0,0 @@
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
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var react_1 = __importDefault(require("react"));
54
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
55
- var react_2 = require("@testing-library/react");
56
- var user_event_1 = __importDefault(require("@testing-library/user-event"));
57
- var x_date_pickers_1 = require("@mui/x-date-pickers");
58
- var AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
59
- var HasDeletionsContext_1 = require("../../../contexts/HasDeletionsContext");
60
- var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
61
- var SpecialRenderer_1 = __importDefault(require("./SpecialRenderer"));
62
- describe('SpecialRenderer tests', function () {
63
- var defaultProps = {
64
- mode: mdm_sdk_1.Mode.Editing,
65
- parentUri: 'entities/sIeHttl',
66
- max: 10,
67
- showEmptyEditors: false,
68
- errorMessage: '',
69
- values: [],
70
- attributeType: mdm_sdk_1.EntityAttrTypes.roles,
71
- onAddAttributes: jest.fn(),
72
- onDeleteAttribute: jest.fn(),
73
- onChangeAttribute: jest.fn(),
74
- onDeactivateError: jest.fn()
75
- };
76
- var entity = { uri: 'entities/1B8njgSw', type: 'configuration/entityTypes/HCP' };
77
- var metadata = {
78
- roles: [{ uri: 'configuration/roles/OfficeStaff', label: 'Office Staff' }],
79
- entityTypes: [
80
- {
81
- uri: 'configuration/entityTypes/HCP',
82
- entityTypeRoleURIs: ['configuration/roles/OfficeStaff']
83
- }
84
- ]
85
- };
86
- var dependentLookups = {
87
- editors: {},
88
- structure: {},
89
- initedTypeUris: []
90
- };
91
- var mdmValues = { entity: entity, metadata: metadata, dependentLookups: dependentLookups };
92
- var setUp = function (props) {
93
- if (props === void 0) { props = {}; }
94
- var user = user_event_1.default.setup();
95
- var Providers = function (_a) {
96
- var children = _a.children;
97
- return (react_1.default.createElement(x_date_pickers_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment },
98
- react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children)));
99
- };
100
- return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(SpecialRenderer_1.default, __assign({}, defaultProps, props)), { wrapper: Providers }));
101
- };
102
- it('should render Roles component for roles', function () {
103
- var attributeType = mdm_sdk_1.EntityAttrTypes.roles;
104
- setUp({ attributeType: attributeType, values: ['configuration/roles/OfficeStaff'] });
105
- expect(react_2.screen.getByTestId('reltio-attribute-label')).toHaveTextContent(attributeType.label);
106
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
107
- expect(react_2.screen.getByRole('combobox')).toBeInTheDocument();
108
- expect(react_2.screen.getByText('Office Staff')).toBeInTheDocument();
109
- });
110
- it('should render Tags component for tags and special icon before title', function () {
111
- var attributeType = mdm_sdk_1.EntityAttrTypes.tags;
112
- setUp({ attributeType: attributeType, values: ['tag1'] });
113
- expect(react_2.screen.getByTestId('reltio-attribute-label')).toHaveTextContent(attributeType.label);
114
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
115
- expect(react_2.screen.getByRole('textbox')).toBeInTheDocument();
116
- expect(react_2.screen.getByText('tag1')).toBeInTheDocument();
117
- });
118
- it('should render empty Tags', function () {
119
- var attributeType = mdm_sdk_1.EntityAttrTypes.tags;
120
- setUp({ attributeType: attributeType, values: [] });
121
- expect(react_2.screen.getByTestId('reltio-attribute-label')).toHaveTextContent(attributeType.label);
122
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
123
- expect(react_2.screen.getByRole('textbox')).toBeInTheDocument();
124
- });
125
- it('should render Attribute component for activeness attributes', function () {
126
- var attributeType = mdm_sdk_1.EntityAttrTypes.endDate;
127
- setUp({ attributeType: attributeType, values: [1690891216477] });
128
- expect(react_2.screen.getByTestId('reltio-attribute-label')).toHaveTextContent(attributeType.label);
129
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
130
- expect(react_2.screen.getByRole('textbox')).toHaveValue('08/01/2023');
131
- });
132
- it('should return null if there are no activeness values and showEmptyEditors is falsy', function () {
133
- var attributeType = mdm_sdk_1.EntityAttrTypes.endDate;
134
- var container = setUp({ attributeType: attributeType, values: [] }).container;
135
- expect(container).toBeEmptyDOMElement();
136
- });
137
- it('should render special "empty" activeness attribute if values empty and showEmptyEditors is true', function () {
138
- var attributeType = mdm_sdk_1.EntityAttrTypes.endDate;
139
- setUp({ attributeType: attributeType, values: [], showEmptyEditors: true });
140
- expect(react_2.screen.getByTestId('reltio-attribute-label')).toHaveTextContent(attributeType.label);
141
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
142
- expect(react_2.screen.getByRole('textbox')).toHaveValue('');
143
- });
144
- it('should render null if values empty, showEmptyEditors is true but delete operation was performed', function () { return __awaiter(void 0, void 0, void 0, function () {
145
- var attributeType, _a, user, container;
146
- return __generator(this, function (_b) {
147
- switch (_b.label) {
148
- case 0:
149
- attributeType = mdm_sdk_1.EntityAttrTypes.endDate;
150
- _a = setUp({ attributeType: attributeType, values: [], showEmptyEditors: true }), user = _a.user, container = _a.container;
151
- expect(container).not.toBeEmptyDOMElement();
152
- return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-delete-simple-attribute-button'))];
153
- case 1:
154
- _b.sent();
155
- expect(container).toBeEmptyDOMElement();
156
- return [2 /*return*/];
157
- }
158
- });
159
- }); });
160
- it('should call HasDeletionsContext.Provider.value.setHasDeletions on delete operation if context is defined', function () { return __awaiter(void 0, void 0, void 0, function () {
161
- var props, contextValue, user, Providers, container;
162
- return __generator(this, function (_a) {
163
- switch (_a.label) {
164
- case 0:
165
- props = __assign(__assign({}, defaultProps), { attributeType: mdm_sdk_1.EntityAttrTypes.endDate, values: [], showEmptyEditors: true });
166
- contextValue = { setHasDeletions: jest.fn(), hasDeletionsMap: {} };
167
- user = user_event_1.default.setup();
168
- Providers = function (_a) {
169
- var children = _a.children;
170
- return (react_1.default.createElement(HasDeletionsContext_1.HasDeletionsContext.Provider, { value: contextValue },
171
- react_1.default.createElement(x_date_pickers_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment },
172
- react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children))));
173
- };
174
- container = (0, react_2.render)(react_1.default.createElement(SpecialRenderer_1.default, __assign({}, defaultProps, props)), { wrapper: Providers }).container;
175
- return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-delete-simple-attribute-button'))];
176
- case 1:
177
- _a.sent();
178
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
179
- expect(contextValue.setHasDeletions).toHaveBeenCalledWith(props.attributeType.uri, true);
180
- expect(container).not.toBeEmptyDOMElement();
181
- return [2 /*return*/];
182
- }
183
- });
184
- }); });
185
- it('should not crash without context provider and use internal state for hasDeletions', function () { return __awaiter(void 0, void 0, void 0, function () {
186
- var attributeType, _a, user, container;
187
- return __generator(this, function (_b) {
188
- switch (_b.label) {
189
- case 0:
190
- attributeType = mdm_sdk_1.EntityAttrTypes.endDate;
191
- _a = setUp({ attributeType: attributeType, values: [], showEmptyEditors: true }), user = _a.user, container = _a.container;
192
- expect(container).not.toBeEmptyDOMElement();
193
- return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-delete-simple-attribute-button'))];
194
- case 1:
195
- _b.sent();
196
- expect(react_2.screen.queryAllByTestId('reltio-attribute-value')).toHaveLength(0);
197
- return [2 /*return*/];
198
- }
199
- });
200
- }); });
201
- it('should pass additional params to attribute component', function () {
202
- var attributeType = mdm_sdk_1.EntityAttrTypes.endDate;
203
- var additionalControlsRenderer = function () { return react_1.default.createElement("div", { "data-reltio-id": "additional-controls" }); };
204
- setUp({ attributeType: attributeType, values: [1690891216477], additionalControlsRenderer: additionalControlsRenderer });
205
- expect(react_2.screen.getByTestId('reltio-attribute-label')).toHaveTextContent(attributeType.label);
206
- expect(react_2.screen.getAllByTestId('reltio-attribute-value')).toHaveLength(1);
207
- expect(react_2.screen.getByTestId('additional-controls')).toBeInTheDocument();
208
- });
209
- });
@@ -1,251 +0,0 @@
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
- };
49
- var __importDefault = (this && this.__importDefault) || function (mod) {
50
- return (mod && mod.__esModule) ? mod : { "default": mod };
51
- };
52
- Object.defineProperty(exports, "__esModule", { value: true });
53
- var react_1 = __importDefault(require("react"));
54
- var user_event_1 = __importDefault(require("@testing-library/user-event"));
55
- var react_2 = require("@testing-library/react");
56
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
57
- var EditModeAttributesView_1 = require("./EditModeAttributesView");
58
- var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
59
- var ScrollToElementContext_1 = require("../contexts/ScrollToElementContext");
60
- var metadata_test_data_1 = require("./metadata.test-data");
61
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getAttributesListForEditMode: jest.fn(), uploadImage: jest.fn() })); });
62
- var modifiedEntities = {
63
- 'entities/1E4APrQW': {
64
- uri: 'entities/1E4APrQW',
65
- type: 'configuration/entityTypes/HCP',
66
- attributes: {
67
- FirstLevelNested: []
68
- }
69
- }
70
- };
71
- var mdmActions = {
72
- addAttributes: jest.fn(),
73
- modifyAttribute: jest.fn(),
74
- removeAttribute: jest.fn(),
75
- errorDeactivated: jest.fn()
76
- };
77
- var defaultMdmValues = {
78
- modifiedEntities: modifiedEntities,
79
- metadata: (0, metadata_test_data_1.getMetadata)(),
80
- dependentLookups: {
81
- editors: {},
82
- structure: {},
83
- initedTypeUris: []
84
- },
85
- profileErrors: []
86
- };
87
- var defaultProps = {
88
- entity: {
89
- uri: 'entities/1E4APrQW',
90
- type: 'configuration/entityTypes/HCP'
91
- },
92
- mode: mdm_sdk_1.Mode.Editing,
93
- attrTypes: [
94
- {
95
- uri: 'configuration/interactionsTypes/1/attributes/Number',
96
- name: 'Number'
97
- },
98
- {
99
- uri: 'configuration/interactionsTypes/1/attributes/String',
100
- name: 'String'
101
- }
102
- ]
103
- };
104
- describe('EditModeAttributesView tests', function () {
105
- var scrollSpy = jest.fn();
106
- window.HTMLElement.prototype.scrollIntoView = scrollSpy;
107
- var setUp = function (_a) {
108
- var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c, _d = _b.mdmValues, mdmValues = _d === void 0 ? defaultMdmValues : _d, _e = _b.userOptions, userOptions = _e === void 0 ? {} : _e;
109
- var user = user_event_1.default.setup(userOptions);
110
- var Providers = function (_a) {
111
- var children = _a.children;
112
- return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues, actions: mdmActions },
113
- react_1.default.createElement(ScrollToElementContext_1.ScrollToElementProvider, null, children)));
114
- };
115
- return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(EditModeAttributesView_1.EditModeAttributesView, __assign({}, props)), { wrapper: Providers }));
116
- };
117
- beforeAll(function () {
118
- jest.useFakeTimers();
119
- });
120
- afterEach(function () {
121
- jest.runOnlyPendingTimers();
122
- });
123
- it('should highlight last added attribute', function () { return __awaiter(void 0, void 0, void 0, function () {
124
- var _a, user, container, moreAttributesButton, attributeMenuItem, popover;
125
- return __generator(this, function (_b) {
126
- switch (_b.label) {
127
- case 0:
128
- mdm_sdk_1.getAttributesListForEditMode.mockReturnValue([
129
- {
130
- attrType: {
131
- label: 'FirstLevelNestedSub1_HCP',
132
- name: 'FirstLevelNestedSub1',
133
- uri: 'configuration/entityTypes/HCP/attributes/FirstLevelNested',
134
- type: 'String',
135
- required: true
136
- },
137
- values: []
138
- }
139
- ]);
140
- _a = setUp({ userOptions: { delay: null } }), user = _a.user, container = _a.container;
141
- moreAttributesButton = react_2.screen.getByRole('button', { name: 'More attributes' });
142
- expect(moreAttributesButton).toBeInTheDocument();
143
- return [4 /*yield*/, user.click(moreAttributesButton)];
144
- case 1:
145
- _b.sent();
146
- attributeMenuItem = react_2.screen.getByRole('menuitem', { name: 'FirstLevelNested' });
147
- expect(attributeMenuItem).toBeInTheDocument();
148
- return [4 /*yield*/, user.click(attributeMenuItem)];
149
- case 2:
150
- _b.sent();
151
- popover = react_2.screen.getByRole('presentation');
152
- return [4 /*yield*/, user.click(popover.firstChild)];
153
- case 3:
154
- _b.sent(); // click on backdrop
155
- (0, react_2.act)(function () {
156
- jest.runOnlyPendingTimers();
157
- });
158
- return [4 /*yield*/, (0, react_2.waitFor)(function () {
159
- expect(container.querySelector('.wrapper .attributesWrapper .highlighted')).toBeInTheDocument();
160
- })];
161
- case 4:
162
- _b.sent();
163
- expect(scrollSpy).toHaveBeenCalledTimes(1);
164
- (0, react_2.act)(function () {
165
- jest.runOnlyPendingTimers();
166
- });
167
- return [4 /*yield*/, (0, react_2.waitFor)(function () {
168
- expect(container.querySelector('.wrapper .attributesWrapper .highlighted')).not.toBeInTheDocument();
169
- })];
170
- case 5:
171
- _b.sent();
172
- return [2 /*return*/];
173
- }
174
- });
175
- }); });
176
- describe('image attribute behaviour', function () {
177
- var profileErrors = [
178
- {
179
- parentUri: 'entities/1E4APrQW',
180
- uri: '',
181
- attributeTypeUri: 'configuration/entityTypes/HCP/attributes/ImageGallery',
182
- message: 'Attribute is required',
183
- type: mdm_sdk_1.ErrorType.missed
184
- }
185
- ];
186
- beforeEach(function () {
187
- mdm_sdk_1.getAttributesListForEditMode.mockReturnValue([
188
- {
189
- attrType: {
190
- label: 'Image Gallery',
191
- name: 'ImageGallery',
192
- required: true,
193
- type: 'Image',
194
- uri: 'configuration/entityTypes/HCP/attributes/ImageGallery'
195
- },
196
- values: []
197
- }
198
- ]);
199
- });
200
- it('should render required and missed image attribute in edit mode correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
201
- return __generator(this, function (_a) {
202
- setUp({ mdmValues: __assign(__assign({}, defaultMdmValues), { profileErrors: profileErrors }) });
203
- expect(react_2.screen.getByText('*')).toBeInTheDocument();
204
- expect(react_2.screen.getByText('Attribute is required')).toBeInTheDocument();
205
- return [2 /*return*/];
206
- });
207
- }); });
208
- it('should deactivate error for required and missed image attribute after image was added', function () { return __awaiter(void 0, void 0, void 0, function () {
209
- var resolveUploadImage, user, file;
210
- return __generator(this, function (_a) {
211
- switch (_a.label) {
212
- case 0:
213
- mdm_sdk_1.uploadImage.mockImplementation(function () {
214
- return new Promise(function (resolve) {
215
- resolveUploadImage = resolve;
216
- });
217
- });
218
- user = setUp({
219
- mdmValues: __assign(__assign({}, defaultMdmValues), { profileErrors: profileErrors }),
220
- userOptions: { delay: null, applyAccept: false }
221
- }).user;
222
- return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-upload-image-button'))];
223
- case 1:
224
- _a.sent();
225
- file = new File(['test file content'], 'test.png', { type: 'image/png' });
226
- return [4 /*yield*/, user.upload(react_2.screen.getByTestId('upload-image-button'), file)];
227
- case 2:
228
- _a.sent();
229
- return [4 /*yield*/, react_2.screen.findByTestId('reltio-linear-load-indicator')];
230
- case 3:
231
- _a.sent();
232
- return [4 /*yield*/, (0, react_2.act)(function () { return __awaiter(void 0, void 0, void 0, function () {
233
- return __generator(this, function (_a) {
234
- switch (_a.label) {
235
- case 0: return [4 /*yield*/, resolveUploadImage('Image')];
236
- case 1:
237
- _a.sent();
238
- return [2 /*return*/];
239
- }
240
- });
241
- }); })];
242
- case 4:
243
- _a.sent();
244
- expect(react_2.screen.queryByTestId('reltio-linear-load-indicator')).not.toBeInTheDocument();
245
- expect(mdmActions.errorDeactivated).toHaveBeenCalledWith('configuration/entityTypes/HCP/attributes/ImageGallery--entities/1E4APrQW');
246
- return [2 /*return*/];
247
- }
248
- });
249
- }); });
250
- });
251
- });
@@ -1,4 +0,0 @@
1
- import { Metadata } from '@reltio/mdm-sdk';
2
- export declare const getMetadata: ({ attributeHidden }?: {
3
- attributeHidden?: boolean;
4
- }) => Metadata;
@@ -1,123 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.getMetadata = void 0;
15
- var getMetadata = function (_a) {
16
- var _b = _a === void 0 ? {} : _a, _c = _b.attributeHidden, attributeHidden = _c === void 0 ? false : _c;
17
- return {
18
- uri: 'configuration',
19
- entityTypes: [
20
- {
21
- uri: 'configuration/entityTypes/HCP',
22
- attributes: [
23
- __assign(__assign({ uri: 'configuration/entityTypes/HCP/attributes/FirstLevelNested', name: 'FirstLevelNested', type: 'Nested' }, (attributeHidden ? { hidden: true } : {})), { attributes: [
24
- {
25
- label: 'FirstLevelNestedSub1_HCP',
26
- name: 'FirstLevelNestedSub1',
27
- uri: 'configuration/entityTypes/HCP/attributes/FirstLevelNested/attributes/FirstLevelNestedSub1',
28
- type: 'String',
29
- required: true
30
- },
31
- {
32
- label: 'Date1_HCP',
33
- name: 'Date1',
34
- uri: 'configuration/entityTypes/HCP/attributes/FirstLevelNested/attributes/Date1',
35
- type: 'String'
36
- }
37
- ] }),
38
- {
39
- uri: 'configuration/entityTypes/HCP/attributes/Commenters',
40
- name: 'Commenters',
41
- hidden: true
42
- },
43
- {
44
- label: 'Affiliated with',
45
- name: 'affiliatedwith',
46
- type: 'Reference',
47
- uri: 'configuration/entityTypes/HCP/attributes/affiliatedwith',
48
- referencedAttributeURIs: [
49
- 'configuration/entityTypes/Organization/attributes/Nick',
50
- 'configuration/entityTypes/Organization/attributes/Name',
51
- 'configuration/relationTypes/affiliatedwith/attributes/Title',
52
- 'configuration/relationTypes/affiliatedwith/attributes/Status'
53
- ],
54
- referencedEntityTypeURI: 'configuration/entityTypes/Organization',
55
- relationshipTypeURI: 'configuration/relationTypes/affiliatedwith'
56
- }
57
- ],
58
- analyticsAttributes: [
59
- {
60
- uri: 'configuration/entityTypes/HCP/analyticsAttributes/DQ',
61
- name: 'DQ',
62
- label: 'DQ',
63
- hidden: false
64
- }
65
- ]
66
- },
67
- {
68
- uri: 'configuration/entityTypes/Organization',
69
- label: 'Organization',
70
- dataLabelPattern: '{Name}!',
71
- attributes: [
72
- {
73
- label: 'Name',
74
- name: 'Name',
75
- type: 'String',
76
- uri: 'configuration/entityTypes/Organization/attributes/Name'
77
- },
78
- {
79
- label: 'oAuth Customer name',
80
- name: 'oAuthAccount',
81
- type: 'String',
82
- uri: 'configuration/entityTypes/Organization/attributes/oAuthAccount'
83
- },
84
- {
85
- label: 'Nickname',
86
- name: 'Nick',
87
- type: 'String',
88
- uri: 'configuration/entityTypes/Organization/attributes/Nick'
89
- }
90
- ]
91
- }
92
- ],
93
- relationTypes: [
94
- {
95
- uri: 'configuration/relationTypes/affiliatedwith',
96
- label: 'Affiliated with',
97
- attributes: [
98
- {
99
- label: 'Contact Type',
100
- name: 'ContactType',
101
- type: 'String',
102
- uri: 'configuration/relationTypes/affiliatedwith/attributes/ContactType',
103
- lookupCode: 'rdm/lookupTypes/ContactType_affiliatedwith'
104
- },
105
- {
106
- label: 'Title',
107
- name: 'Title',
108
- type: 'String',
109
- uri: 'configuration/relationTypes/affiliatedwith/attributes/Title'
110
- },
111
- {
112
- label: 'Status',
113
- name: 'Status',
114
- type: 'String',
115
- uri: 'configuration/relationTypes/affiliatedwith/attributes/Status',
116
- lookupCode: 'rdm/lookupTypes/Status_affiliatedwith'
117
- }
118
- ]
119
- }
120
- ]
121
- };
122
- };
123
- exports.getMetadata = getMetadata;
@@ -1,52 +0,0 @@
1
- export declare const entityType: {
2
- uri: string;
3
- label: string;
4
- description: string;
5
- typeColor: string;
6
- typeIcon: string;
7
- typeImage: string;
8
- typeGraphIcon: string;
9
- extendsTypeURI: string;
10
- lifecycleActions: {
11
- beforeSave: string[];
12
- };
13
- attributes: ({
14
- label: string;
15
- name: string;
16
- description: string;
17
- type: string;
18
- hidden: boolean;
19
- important: boolean;
20
- system: boolean;
21
- required: boolean;
22
- faceted: boolean;
23
- attributeOrdering: {
24
- orderType: string;
25
- orderingStrategy: string;
26
- };
27
- uri: string;
28
- skipInDataAccess: boolean;
29
- access: string[];
30
- values?: undefined;
31
- } | {
32
- label: string;
33
- name: string;
34
- description: string;
35
- type: string;
36
- hidden: boolean;
37
- important: boolean;
38
- system: boolean;
39
- required: boolean;
40
- faceted: boolean;
41
- values: string[];
42
- attributeOrdering: {
43
- orderType: string;
44
- orderingStrategy: string;
45
- };
46
- uri: string;
47
- skipInDataAccess: boolean;
48
- access: string[];
49
- })[];
50
- abstract: boolean;
51
- businessCardAttributeURIs: string[];
52
- };