@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,343 +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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
19
- var test_utils_1 = require("react-dom/test-utils");
20
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
21
- var EditModeAttributesFactory_1 = require("../../../EditModeAttributesFactory");
22
- var CardinalityMessage_1 = require("../../../CardinalityMessage");
23
- var ErrorMessage_1 = require("../../../ErrorMessage");
24
- var AttributeTitle_1 = require("../../../AttributeTitle");
25
- var ShowMore_1 = require("../../../ShowMore");
26
- var ShowLess_1 = require("../../../ShowLess");
27
- var AttributeRenderer_1 = __importDefault(require("./AttributeRenderer"));
28
- var BranchDecorator_1 = require("../../../BranchDecorator");
29
- var OvIcon_1 = require("../../../OvIcon");
30
- var EmptyStub_1 = require("../../../EmptyStub");
31
- var useScrollToAttributeError_1 = require("../../../hooks/useScrollToAttributeError");
32
- var ScrollToElementContext_1 = require("../../../contexts/ScrollToElementContext");
33
- var FeaturesContext_1 = require("../../../contexts/FeaturesContext");
34
- var PinnedAttributesContext_1 = require("../../../contexts/PinnedAttributesContext");
35
- var DescriptionIcon_1 = require("../../../DescriptionIcon");
36
- jest.mock('../../../EditModeAttributesFactory', function () { return ({
37
- EditModeAttribute: jest.fn()
38
- }); });
39
- jest.mock('../../../OvIcon', function () { return ({
40
- OvIcon: jest.fn()
41
- }); });
42
- jest.mock('../../../hooks/useScrollToAttributeError', function () { return (__assign(__assign({}, jest.requireActual('../../../hooks/useScrollToAttributeError')), { useScrollToAttributeError: jest.fn() })); });
43
- describe('AttributeRenderer', function () {
44
- var attributeType = {
45
- uri: 'configuration/entityTypes/HCP/attributes/Simple',
46
- type: 'String',
47
- name: 'Simple',
48
- label: 'Simple label',
49
- description: 'Description for Simple'
50
- };
51
- var values = [
52
- {
53
- type: attributeType.uri,
54
- uri: 'entities/sIeHttl/attributes/Simple/u123',
55
- value: '123',
56
- ov: true
57
- },
58
- {
59
- type: attributeType.uri,
60
- uri: 'entities/sIeHttl/attributes/Simple/u456',
61
- value: '456',
62
- ov: true
63
- }
64
- ];
65
- var nonVisibleValues = [
66
- {
67
- type: attributeType.uri,
68
- uri: 'entities/sIeHttl/attributes/Simple/u789',
69
- value: '456',
70
- ov: false
71
- }
72
- ];
73
- var additionalControlsRenderer = function () { return react_1.default.createElement(react_1.default.Fragment, null); };
74
- var scrollToAttributeError = {
75
- ref: react_1.default.createRef(),
76
- errorClassName: 'errorClassName',
77
- path: []
78
- };
79
- var highlightErrorSpy = jest.fn();
80
- var scrollIntoRefSpy = jest.fn();
81
- var showDescription = true;
82
- var setUp = function (props, pinnedAttributes, highlightedError) {
83
- if (pinnedAttributes === void 0) { pinnedAttributes = []; }
84
- if (highlightedError === void 0) { highlightedError = null; }
85
- return (0, enzyme_1.mount)(react_1.default.createElement(PinnedAttributesContext_1.PinnedAttributesContext.Provider, { value: pinnedAttributes },
86
- react_1.default.createElement(FeaturesContext_1.FeaturesContext.Provider, { value: { showDescription: showDescription } },
87
- react_1.default.createElement(AttributeRenderer_1.default, __assign({}, props, { highlightedError: highlightedError })))));
88
- };
89
- beforeAll(function () {
90
- OvIcon_1.OvIcon.mockImplementation(EmptyStub_1.EmptyStub);
91
- EditModeAttributesFactory_1.EditModeAttribute.mockImplementation(EmptyStub_1.EmptyStub);
92
- useScrollToAttributeError_1.useScrollToAttributeError.mockReturnValue(scrollToAttributeError);
93
- });
94
- beforeEach(function () {
95
- jest.clearAllMocks();
96
- });
97
- var defaultProps = {
98
- attributeType: attributeType,
99
- values: values,
100
- nonVisibleValues: nonVisibleValues,
101
- mode: mdm_sdk_1.Mode.Editing,
102
- parentUri: 'entities/sIeHttl',
103
- drawLines: false,
104
- max: 10,
105
- showEmptyEditors: true,
106
- errorMessage: '',
107
- errors: [],
108
- paging: {},
109
- crosswalks: [],
110
- showNonOv: true,
111
- onAddAttributes: jest.fn(),
112
- onDeleteAttribute: jest.fn(),
113
- onChangeAttribute: jest.fn(),
114
- onDeactivateError: jest.fn(),
115
- additionalControlsRenderer: additionalControlsRenderer,
116
- requestNextPageOfAttributeValues: jest.fn()
117
- };
118
- it('should render main parts', function () {
119
- var props = __assign({}, defaultProps);
120
- var component = setUp(props);
121
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
122
- var wrapper = component.find('.wrapper');
123
- expect(wrapper.hasClass(scrollToAttributeError.errorClassName)).toBeTruthy();
124
- expect(wrapper.getElement().ref).toBe(scrollToAttributeError.ref);
125
- var decorator = component.find(BranchDecorator_1.BranchDecorator);
126
- expect(decorator.prop('enabled')).toBe(props.drawLines);
127
- expect(decorator.find(AttributeTitle_1.AttributeTitle).length).toBe(1);
128
- expect(decorator.find(AttributeTitle_1.AttributeTitle).prop('label')).toBe(props.attributeType.label);
129
- expect(decorator.find(DescriptionIcon_1.DescriptionIcon).length).toBe(1);
130
- expect(decorator.find(DescriptionIcon_1.DescriptionIcon).prop('description')).toBe(props.attributeType.description);
131
- expect(decorator.find(OvIcon_1.OvIcon).length).toBe(1);
132
- expect(decorator.find(OvIcon_1.OvIcon).props()).toEqual({
133
- nonOvValues: nonVisibleValues,
134
- attributeType: attributeType,
135
- className: 'ovIcon',
136
- nonOvTotal: 1
137
- });
138
- expect(decorator.find(CardinalityMessage_1.CardinalityMessage).length).toBe(1);
139
- expect(decorator.find(ErrorMessage_1.ErrorMessage).length).toBe(1);
140
- expect(decorator.find(ShowMore_1.ShowMore).length).toBe(0);
141
- expect(decorator.find(ShowLess_1.ShowLess).length).toBe(0);
142
- expect(decorator.find(EditModeAttributesFactory_1.EditModeAttribute).length).toBe(2);
143
- });
144
- it('should set correct props for Attribute component', function () {
145
- var props = __assign(__assign({}, defaultProps), { errors: [
146
- {
147
- parentUri: defaultProps.parentUri,
148
- uri: values[0].uri,
149
- attributeTypeUri: attributeType.uri,
150
- message: 'Attribute is invalid',
151
- type: mdm_sdk_1.ErrorType.invalid
152
- }
153
- ], showEmptyEditors: true });
154
- var component = setUp(props);
155
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
156
- var attributes = component.find(EditModeAttributesFactory_1.EditModeAttribute);
157
- expect(attributes.length).toBe(2);
158
- attributes.forEach(function (attribute, i) {
159
- var isLast = i === attributes.length - 1;
160
- expect(attribute.prop('attributeValue')).toBe(props.values[i]);
161
- expect(attribute.prop('attributeType')).toBe(props.attributeType);
162
- expect(attribute.prop('lazy')).toBeFalsy();
163
- expect(attribute.prop('showEmptyEditors')).toBe(props.showEmptyEditors);
164
- expect(attribute.prop('mode')).toBe(props.mode);
165
- expect(attribute.prop('crosswalks')).toBe(props.crosswalks);
166
- expect(attribute.prop('errors')).toBe(props.errors);
167
- expect(attribute.prop('ownError')).toBe(i === 0 ? props.errors[0] : undefined);
168
- // eslint-disable-next-line jest/no-conditional-expect
169
- expect(attribute.prop('onAddOneMore')).toEqual(isLast ? expect.any(Function) : null);
170
- expect(attribute.prop('onDeleteAttribute')).toEqual(expect.any(Function));
171
- expect(attribute.prop('onAddAttributes')).toBe(props.onAddAttributes);
172
- expect(attribute.prop('onChangeAttribute')).toBe(props.onChangeAttribute);
173
- expect(attribute.prop('onDeactivateError')).toBe(props.onDeactivateError);
174
- expect(attribute.prop('additionalControlsRenderer')).toBe(props.additionalControlsRenderer);
175
- if (isLast) {
176
- (0, test_utils_1.act)(function () {
177
- var onAddOneMore = attribute.prop('onAddOneMore');
178
- onAddOneMore();
179
- });
180
- // eslint-disable-next-line jest/no-conditional-expect
181
- expect(props.onAddAttributes).toHaveBeenCalledWith([
182
- {
183
- parentUri: props.parentUri,
184
- index: props.max,
185
- attributeType: props.attributeType
186
- }
187
- ]);
188
- }
189
- (0, test_utils_1.act)(function () {
190
- var onDeleteAttribute = attribute.prop('onDeleteAttribute');
191
- onDeleteAttribute();
192
- });
193
- expect(props.onDeleteAttribute).toHaveBeenCalled();
194
- });
195
- });
196
- it('should display errorMessage prop value inside ErrorMessage component', function () {
197
- var props = __assign(__assign({}, defaultProps), { errorMessage: '123' });
198
- var component = setUp(props);
199
- expect(component.find(ErrorMessage_1.ErrorMessage).prop('message')).toBe(props.errorMessage);
200
- });
201
- it('should map "missed" error with appropriate attributeTypeUri to first attribute value', function () {
202
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true, errors: [
203
- {
204
- parentUri: defaultProps.parentUri,
205
- uri: '',
206
- attributeTypeUri: attributeType.uri,
207
- message: 'Attribute is invalid',
208
- type: mdm_sdk_1.ErrorType.invalid
209
- },
210
- {
211
- parentUri: defaultProps.parentUri,
212
- uri: '',
213
- attributeTypeUri: attributeType.uri,
214
- message: 'Attribute is required',
215
- type: mdm_sdk_1.ErrorType.missed
216
- }
217
- ] });
218
- var component = setUp(props);
219
- expect(component.find(EditModeAttributesFactory_1.EditModeAttribute).prop('ownError')).toBe(props.errors[1]);
220
- });
221
- it('should return null if values are undefined and showEmptyEditors is falsy', function () {
222
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: false });
223
- var component = setUp(props);
224
- expect(component.find(AttributeRenderer_1.default).children()).toHaveLength(0);
225
- });
226
- it('should return null if there are no values and showEmptyEditors is falsy', function () {
227
- var props = __assign(__assign({}, defaultProps), { values: [], showEmptyEditors: false });
228
- var component = setUp(props);
229
- expect(component.find(AttributeRenderer_1.default).children()).toHaveLength(0);
230
- });
231
- it('should render special "empty" attribute if values are undefined and showEmptyEditors is true', function () {
232
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true });
233
- var component = setUp(props);
234
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
235
- var attribute = component.find(EditModeAttributesFactory_1.EditModeAttribute);
236
- expect(attribute.length).toBe(1);
237
- expect(attribute.prop('attributeValue')).toEqual({
238
- type: attributeType.uri,
239
- uri: expect.stringContaining('entities/sIeHttl/attributes/Simple/uri$$'),
240
- value: '',
241
- ov: true
242
- });
243
- });
244
- it('should render special "empty" attribute if values are undefined and attribute are required', function () {
245
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { required: true }), values: undefined, showEmptyEditors: false });
246
- var component = setUp(props);
247
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
248
- var attribute = component.find(EditModeAttributesFactory_1.EditModeAttribute);
249
- expect(attribute.length).toBe(1);
250
- expect(attribute.prop('attributeValue')).toEqual({
251
- type: attributeType.uri,
252
- uri: expect.stringContaining('entities/sIeHttl/attributes/Simple/uri$$'),
253
- value: '',
254
- ov: true
255
- });
256
- });
257
- it('should add 2 attributes on addOneMore for Simple "empty" attribute', function () {
258
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true, onAddAttributes: jest.fn() });
259
- var component = setUp(props);
260
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
261
- var attribute = component.find(EditModeAttributesFactory_1.EditModeAttribute);
262
- expect(attribute.length).toBe(1);
263
- (0, test_utils_1.act)(function () {
264
- var onAddOneMore = attribute.prop('onAddOneMore');
265
- onAddOneMore();
266
- });
267
- expect(props.onAddAttributes).toHaveBeenCalledWith([
268
- {
269
- parentUri: props.parentUri,
270
- index: props.max,
271
- attributeType: props.attributeType
272
- },
273
- {
274
- parentUri: props.parentUri,
275
- index: props.max,
276
- attributeType: props.attributeType
277
- }
278
- ]);
279
- });
280
- it('should add 1 attribute on addOneMore for Nested "empty" attribute', function () {
281
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { type: 'Nested' }), values: undefined, showEmptyEditors: true, onAddAttributes: jest.fn() });
282
- var component = setUp(props);
283
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
284
- var attribute = component.find(EditModeAttributesFactory_1.EditModeAttribute);
285
- expect(attribute.length).toBe(1);
286
- (0, test_utils_1.act)(function () {
287
- var onAddOneMore = attribute.prop('onAddOneMore');
288
- onAddOneMore();
289
- });
290
- expect(props.onAddAttributes).toHaveBeenCalledWith([
291
- {
292
- parentUri: props.parentUri,
293
- index: props.max,
294
- attributeType: props.attributeType
295
- }
296
- ]);
297
- });
298
- it('should return null if values are undefined, showEmptyEditors is true but delete operation was performed', function () {
299
- var props = __assign(__assign({}, defaultProps), { values: undefined, showEmptyEditors: true });
300
- var component = setUp(props);
301
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
302
- var attribute = component.find(EditModeAttributesFactory_1.EditModeAttribute);
303
- (0, test_utils_1.act)(function () {
304
- var onDeleteAttribute = attribute.prop('onDeleteAttribute');
305
- onDeleteAttribute();
306
- });
307
- component.update();
308
- expect(component.find(AttributeRenderer_1.default).children()).toHaveLength(0);
309
- });
310
- it('should render special "empty" attribute if values are undefined and attribute is pinned', function () {
311
- var props = __assign(__assign({}, defaultProps), { attributeType: attributeType, values: undefined, showEmptyEditors: false });
312
- var component = setUp(props, [attributeType.uri]);
313
- expect(component.find(AttributeRenderer_1.default).children()).not.toHaveLength(0);
314
- var attribute = component.find(EditModeAttributesFactory_1.EditModeAttribute);
315
- expect(attribute.length).toBe(1);
316
- expect(attribute.prop('attributeValue')).toEqual({
317
- type: attributeType.uri,
318
- uri: expect.stringContaining('entities/sIeHttl/attributes/Simple/uri$$'),
319
- value: '',
320
- ov: true
321
- });
322
- });
323
- describe('useScrollToAttributeError tests', function () {
324
- var fullError = {
325
- type: 'invalid',
326
- attributeTypeUri: attributeType.uri,
327
- parentUri: defaultProps.parentUri,
328
- uri: 'entities/sIeHttl/attributes/Address/edEosww/AddressType/uri$$1627902448724',
329
- source: 'validationService',
330
- severity: 'ERROR'
331
- };
332
- it('should highlight error if it have same parent uri, empty uri, and attribute type uri', function () {
333
- var highlightedError = {
334
- element: __assign(__assign({}, fullError), { uri: '' }),
335
- highlightError: highlightErrorSpy,
336
- scrollIntoRef: scrollIntoRefSpy,
337
- type: ScrollToElementContext_1.ScrollType.Error
338
- };
339
- setUp(defaultProps, [], highlightedError);
340
- expect(useScrollToAttributeError_1.useScrollToAttributeError.mock.calls[0][0]).toMatchObject({ highlightedError: highlightedError });
341
- });
342
- });
343
- });
@@ -1,230 +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 react_2 = require("@testing-library/react");
55
- var user_event_1 = __importDefault(require("@testing-library/user-event"));
56
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
57
- var store_test_data_1 = require("./store.test-data");
58
- var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
59
- var AttributeRenderer_1 = __importDefault(require("./AttributeRenderer"));
60
- var attributeType = {
61
- defaultValue: true,
62
- label: 'Prescriber Indicator',
63
- name: 'PrescriberIndicator',
64
- required: true,
65
- type: 'Boolean',
66
- uri: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator'
67
- };
68
- var additionalControlsRenderer = function () { return react_1.default.createElement(react_1.default.Fragment, null); };
69
- var mdmValues = {
70
- metadata: store_test_data_1.metadata,
71
- dependentLookups: {
72
- structure: {},
73
- editors: {},
74
- initedTypeUris: []
75
- }
76
- };
77
- var defaultProps = {
78
- attributeType: attributeType,
79
- drawLines: false,
80
- errorMessage: '',
81
- errors: [],
82
- showNonOv: false,
83
- max: Infinity,
84
- mode: mdm_sdk_1.Mode.Editing,
85
- nonVisibleValues: [],
86
- onAddAttributes: function () { },
87
- onChangeAttribute: function () { },
88
- onDeactivateError: function () { },
89
- onDeleteAttribute: function () { },
90
- additionalControlsRenderer: additionalControlsRenderer,
91
- paging: {},
92
- parentUri: 'entities/uri$$EqGYtcSCmLMEtNNr1688445347504',
93
- requestNextPageOfAttributeValues: function () { },
94
- showEmptyEditors: true,
95
- values: [],
96
- crosswalks: []
97
- };
98
- var setUp = function (_a) {
99
- var _b = _a === void 0 ? {} : _a, _c = _b.props, props = _c === void 0 ? defaultProps : _c;
100
- var user = user_event_1.default.setup();
101
- var Providers = function (_a) {
102
- var children = _a.children;
103
- return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children));
104
- };
105
- return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(AttributeRenderer_1.default, __assign({}, props)), { wrapper: Providers })), { user: user });
106
- };
107
- describe('Attribute renderer tests', function () {
108
- it('should not use default value from attribute type for empty editor value', function () {
109
- setUp();
110
- var checkboxes = (0, react_2.within)(react_2.screen.getByTestId('reltio-attribute-value')).getAllByRole('checkbox');
111
- checkboxes.forEach(function (checkbox) { return expect(checkbox).not.toBeChecked(); });
112
- });
113
- it('should call onAddAttributes with correct params in case when values is empty', function () { return __awaiter(void 0, void 0, void 0, function () {
114
- var onAddAttributes, props, user, addButton;
115
- return __generator(this, function (_a) {
116
- switch (_a.label) {
117
- case 0:
118
- onAddAttributes = jest.fn();
119
- props = __assign(__assign({}, defaultProps), { onAddAttributes: onAddAttributes });
120
- user = setUp({ props: props }).user;
121
- addButton = react_2.screen.getAllByRole('button')[0];
122
- return [4 /*yield*/, user.click(addButton)];
123
- case 1:
124
- _a.sent();
125
- expect(onAddAttributes).toHaveBeenCalledWith([
126
- {
127
- attributeType: {
128
- label: 'Prescriber Indicator',
129
- name: 'PrescriberIndicator',
130
- required: true,
131
- type: 'Boolean',
132
- uri: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator'
133
- },
134
- index: Infinity,
135
- parentUri: expect.any(String)
136
- },
137
- {
138
- attributeType: {
139
- defaultValue: true,
140
- label: 'Prescriber Indicator',
141
- name: 'PrescriberIndicator',
142
- required: true,
143
- type: 'Boolean',
144
- uri: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator'
145
- },
146
- index: Infinity,
147
- parentUri: expect.any(String)
148
- }
149
- ]);
150
- return [2 /*return*/];
151
- }
152
- });
153
- }); });
154
- it('should call onAddAttributes with correct params in case when values is not empty', function () { return __awaiter(void 0, void 0, void 0, function () {
155
- var values, parentUri, onAddAttributes, props, user, addButton;
156
- return __generator(this, function (_a) {
157
- switch (_a.label) {
158
- case 0:
159
- values = [
160
- {
161
- ov: true,
162
- type: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator',
163
- uri: 'entities/0XAnnkw/attributes/PrescriberIndicator/ESG66YW',
164
- value: false
165
- }
166
- ];
167
- parentUri = 'entities/0XAnnkw';
168
- onAddAttributes = jest.fn();
169
- props = __assign(__assign({}, defaultProps), { onAddAttributes: onAddAttributes, parentUri: parentUri, values: values });
170
- user = setUp({ props: props }).user;
171
- addButton = react_2.screen.getAllByRole('button')[0];
172
- return [4 /*yield*/, user.click(addButton)];
173
- case 1:
174
- _a.sent();
175
- expect(onAddAttributes).toHaveBeenCalledWith([
176
- {
177
- attributeType: {
178
- defaultValue: true,
179
- label: 'Prescriber Indicator',
180
- name: 'PrescriberIndicator',
181
- required: true,
182
- type: 'Boolean',
183
- uri: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator'
184
- },
185
- index: Infinity,
186
- parentUri: expect.any(String)
187
- }
188
- ]);
189
- return [2 /*return*/];
190
- }
191
- });
192
- }); });
193
- it('should render correct if one of the values is masked', function () {
194
- var values = [
195
- {
196
- ov: true,
197
- type: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator',
198
- uri: 'entities/0XAnnkw/attributes/PrescriberIndicator/ESG66YW',
199
- value: false
200
- },
201
- {
202
- ov: true,
203
- type: 'configuration/entityTypes/HCP/attributes/PrescriberIndicator',
204
- uri: 'entities/0XAnnkw/attributes/PrescriberIndicator/ESG66YW',
205
- value: true,
206
- masked: true
207
- }
208
- ];
209
- var props = __assign(__assign({}, defaultProps), { values: values });
210
- setUp({ props: props });
211
- var attributeValues = react_2.screen.getAllByTestId('reltio-attribute-value');
212
- expect(attributeValues).toHaveLength(2);
213
- expect((0, react_2.within)(attributeValues[0]).getAllByRole('checkbox')).toHaveLength(2);
214
- expect((0, react_2.within)(attributeValues[0]).getByText('Yes')).toBeInTheDocument();
215
- expect((0, react_2.within)(attributeValues[0]).getByText('No')).toBeInTheDocument();
216
- expect((0, react_2.within)(attributeValues[1]).queryAllByRole('checkbox')).toHaveLength(0);
217
- expect((0, react_2.within)(attributeValues[1]).getByText('Yes')).toBeInTheDocument();
218
- expect((0, react_2.within)(attributeValues[1]).queryByText('No')).not.toBeInTheDocument();
219
- });
220
- it('should not allow to add more values in edit mode if cardinality max value is one', function () {
221
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { cardinality: { maxValue: 1, minValue: 0 } }) });
222
- setUp({ props: props });
223
- expect(react_2.screen.queryByTestId('reltio-add-one-more-simple-attribute-button')).not.toBeInTheDocument();
224
- });
225
- it('should allow to add more values in edit mode if cardinality max value is more than one', function () {
226
- var props = __assign(__assign({}, defaultProps), { attributeType: __assign(__assign({}, attributeType), { cardinality: { maxValue: 2, minValue: 1 } }) });
227
- setUp({ props: props });
228
- expect(react_2.screen.getByTestId('reltio-add-one-more-simple-attribute-button')).toBeInTheDocument();
229
- });
230
- });
@@ -1,52 +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 __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var react_1 = __importDefault(require("react"));
18
- var enzyme_1 = require("enzyme");
19
- var ImageLineRenderer_1 = require("./ImageLineRenderer");
20
- var ImageAttributesLineEditor_1 = require("../../../ImageAttributesLineEditor");
21
- var AttributeTitle_1 = require("../../../AttributeTitle");
22
- var DescriptionIcon_1 = require("../../../DescriptionIcon");
23
- var attributeType = {
24
- uri: 'configuration/entityTypes/HCP/attributes/ImageGallery',
25
- type: 'Image',
26
- name: 'ImageGallery',
27
- label: 'Image Gallery',
28
- description: 'Image Gallery description'
29
- };
30
- var props = {
31
- attributeValues: [],
32
- attributeType: attributeType,
33
- paging: {},
34
- parentUri: 'entities/sIeHttl',
35
- requestNextPageOfAttributeValues: jest.fn(),
36
- onDeleteAttribute: jest.fn(),
37
- onChangeAttribute: jest.fn(),
38
- showNonOv: false
39
- };
40
- describe('ImageLineRenderer tests', function () {
41
- it('should render ImageAttributesLineEditor with correct props', function () {
42
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ImageLineRenderer_1.ImageLineRenderer, __assign({}, props)));
43
- expect(component.find(ImageAttributesLineEditor_1.ImageAttributesLineEditor).props()).toEqual(__assign(__assign({}, props), { onChangeAttribute: expect.any(Function) }));
44
- });
45
- it('should render title row correctly', function () {
46
- var component = (0, enzyme_1.shallow)(react_1.default.createElement(ImageLineRenderer_1.ImageLineRenderer, __assign({}, props)));
47
- var titleRow = component.find('.titleWrapper');
48
- expect(titleRow).toHaveLength(1);
49
- expect(titleRow.find(AttributeTitle_1.AttributeTitle).prop('label')).toBe(attributeType.label);
50
- expect(titleRow.find(DescriptionIcon_1.DescriptionIcon).prop('description')).toBe(attributeType.description);
51
- });
52
- });