@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
@@ -10,6 +10,42 @@ var __assign = (this && this.__assign) || function () {
10
10
  };
11
11
  return __assign.apply(this, arguments);
12
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
+ };
13
49
  var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
50
  if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
51
  if (ar || !(i in from)) {
@@ -24,132 +60,153 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
24
60
  };
25
61
  Object.defineProperty(exports, "__esModule", { value: true });
26
62
  var react_1 = __importDefault(require("react"));
27
- var enzyme_1 = require("enzyme");
28
- var test_utils_1 = require("react-dom/test-utils");
29
- var EditModeAttributesList_1 = __importDefault(require("./EditModeAttributesList"));
30
- var MoreAttributesButton_1 = require("../MoreAttributesButton");
31
- var EditModeAttributesPager_1 = require("../EditModeAttributesPager");
32
- var mdm_sdk_1 = require("@reltio/mdm-sdk");
33
- var attributes_test_data_1 = require("./attributes.test-data");
34
- var BranchDecorator_1 = require("../BranchDecorator");
35
63
  var ramda_1 = require("ramda");
36
- var HasDeletionsContext_1 = require("../contexts/HasDeletionsContext");
37
- var test_utils_2 = require("../test-utils");
64
+ var react_2 = require("@testing-library/react");
65
+ var user_event_1 = __importDefault(require("@testing-library/user-event"));
66
+ var LocalizationProvider_1 = require("@mui/x-date-pickers/LocalizationProvider");
67
+ var AdapterMoment_1 = require("@mui/x-date-pickers/AdapterMoment");
68
+ var mdm_sdk_1 = require("@reltio/mdm-sdk");
38
69
  var PinnedAttributesContext_1 = require("../contexts/PinnedAttributesContext");
39
- jest.mock('@reltio/mdm-sdk', function () { return (__assign(__assign({}, jest.requireActual('@reltio/mdm-sdk')), { getAttributesListForEditMode: jest
40
- .fn()
41
- .mockImplementation(jest.requireActual('@reltio/mdm-sdk').getAttributesListForEditMode) })); });
42
- jest.mock('../MoreAttributesButton', function () { return ({
43
- MoreAttributesButton: jest.fn().mockImplementation(function () { return react_1.default.createElement("div", null); })
44
- }); });
45
- jest.mock('../EditModeAttributesPager', function () { return ({
46
- EditModeAttributesPager: jest.fn().mockImplementation(function () { return react_1.default.createElement("div", null); })
47
- }); });
48
- jest.mock('../contexts/HasDeletionsContext', function () { return ({
49
- HasDeletionsContext: {
50
- Provider: jest.fn().mockImplementation(function (_a) {
51
- var children = _a.children;
52
- return react_1.default.createElement(react_1.default.Fragment, null, children);
53
- })
70
+ var attributes_test_data_1 = require("./attributes.test-data");
71
+ var EditModeAttributesList_1 = __importDefault(require("./EditModeAttributesList"));
72
+ var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
73
+ var defaultAttributes = {
74
+ Role: [
75
+ {
76
+ ov: true,
77
+ type: 'configuration/relationTypes/knowledge/attributes/Role',
78
+ uri: 'relations/8908/Role',
79
+ value: ''
80
+ },
81
+ {
82
+ ov: true,
83
+ type: 'configuration/relationTypes/knowledge/attributes/Role',
84
+ uri: 'relations/8909/Role',
85
+ value: 'Some role'
86
+ }
87
+ ],
88
+ Name: [
89
+ {
90
+ ov: true,
91
+ type: 'configuration/relationTypes/knowledge/attributes/Name',
92
+ uri: 'relations/8808/Name',
93
+ value: ''
94
+ }
95
+ ],
96
+ LastName: [
97
+ {
98
+ ov: true,
99
+ type: 'configuration/relationTypes/knowledge/attributes/LastName',
100
+ uri: 'relations/7808/LastName',
101
+ value: ''
102
+ }
103
+ ],
104
+ paging: {
105
+ 'configuration/relationTypes/knowledge/attributes/Role': {
106
+ totalOvValues: 4,
107
+ totalValues: 4
108
+ }
54
109
  }
55
- }); });
56
- describe('EditModeAttributesList tests', function () {
110
+ };
111
+ var defaultEntity = { uri: 'entities/xT3HJZ7', type: 'configuration/entityTypes/HCP', attributes: defaultAttributes };
112
+ var defaultProps = {
113
+ parentUri: 'entities/xT3HJZ7',
114
+ entity: defaultEntity,
115
+ attrTypes: attributes_test_data_1.attributesList,
116
+ mode: mdm_sdk_1.Mode.Editing,
117
+ showEmptyEditors: false,
118
+ onAddAttributes: jest.fn(),
119
+ onDeleteAttribute: jest.fn(),
120
+ onChangeAttribute: jest.fn()
121
+ };
122
+ var dependentLookups = { editors: {}, structure: {}, initedTypeUris: [] };
123
+ var defaultMdmValues = { dependentLookups: dependentLookups };
124
+ var setUp = function (_a) {
125
+ 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.pinnedAttributesContextValue, pinnedAttributesContextValue = _e === void 0 ? [] : _e;
126
+ var user = user_event_1.default.setup();
127
+ var Providers = function (_a) {
128
+ var children = _a.children;
129
+ return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
130
+ react_1.default.createElement(PinnedAttributesContext_1.PinnedAttributesContext.Provider, { value: pinnedAttributesContextValue },
131
+ react_1.default.createElement(LocalizationProvider_1.LocalizationProvider, { dateAdapter: AdapterMoment_1.AdapterMoment }, children))));
132
+ };
133
+ var result = (0, react_2.render)(react_1.default.createElement(EditModeAttributesList_1.default, __assign({}, props)), { wrapper: Providers });
134
+ var rerender = function (newProps) {
135
+ return result.rerender(react_1.default.createElement(EditModeAttributesList_1.default, __assign({}, props, newProps)));
136
+ };
137
+ return __assign(__assign({}, result), { rerender: rerender, user: user });
138
+ };
139
+ describe('Edit mode attributes list tests', function () {
57
140
  afterEach(function () {
58
141
  jest.clearAllMocks();
59
142
  });
60
- var attributes = {
61
- Role: [
62
- {
63
- ov: true,
64
- type: 'configuration/relationTypes/knowledge/attributes/Role',
65
- uri: 'relations/8908/Role',
66
- value: ''
67
- },
68
- {
69
- ov: true,
70
- type: 'configuration/relationTypes/knowledge/attributes/Role',
71
- uri: 'relations/8909/Role',
72
- value: 'Some role'
73
- }
74
- ],
75
- Name: [
76
- {
77
- ov: true,
78
- type: 'configuration/relationTypes/knowledge/attributes/Name',
79
- uri: 'relations/8808/Name',
80
- value: ''
81
- }
82
- ],
83
- LastName: [
84
- {
85
- ov: true,
86
- type: 'configuration/relationTypes/knowledge/attributes/LastName',
87
- uri: 'relations/7808/LastName',
88
- value: ''
89
- }
90
- ],
91
- paging: {
92
- 'configuration/relationTypes/knowledge/attributes/Role': {
93
- totalOvValues: 4,
94
- totalValues: 4
95
- }
96
- }
97
- };
98
- var entity = {
99
- attributes: attributes
100
- };
101
- var parentUri = 'entities/xT3HJZ7';
102
143
  it('should render button with label and not hidden/required pagers', function () {
103
- var label = 'More attributes';
104
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attributes_test_data_1.attributesList, entity: entity, parentUri: parentUri }));
105
- var button = component.find(MoreAttributesButton_1.MoreAttributesButton);
106
- expect(button.length).toBe(1);
107
- expect(button.prop('label')).toBe(label);
108
- var pagers = component.find(EditModeAttributesPager_1.EditModeAttributesPager);
109
- expect(pagers.length).toBe(3);
110
- pagers.forEach(function (pager) {
111
- expect(pager.prop('attributeType').hidden).toBeFalsy();
112
- var shouldHasPaging = pager.prop('attributeType').uri === 'configuration/relationTypes/knowledge/attributes/Role';
113
- expect(pager.prop('paging')).toBe(shouldHasPaging ? attributes.paging['configuration/relationTypes/knowledge/attributes/Role'] : undefined);
114
- });
115
- });
116
- it('should not add to more attr types single value types with non-empty attr value', function () {
117
- var attrTypes = (0, ramda_1.adjust)(1, (0, ramda_1.assoc)('singleValue', true), attributes_test_data_1.attributesList);
118
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: entity, parentUri: parentUri }));
119
- var button = component.find(MoreAttributesButton_1.MoreAttributesButton);
120
- expect(button.prop('data').includes(attributes_test_data_1.attributesList[1])).toBe(false);
144
+ setUp();
145
+ react_2.screen.getByText('More attributes');
146
+ var attributeLabels = react_2.screen.getAllByTestId('reltio-attribute-label');
147
+ expect(attributeLabels).toHaveLength(3);
148
+ expect(attributeLabels[0]).toHaveTextContent('Role');
149
+ expect(attributeLabels[1]).toHaveTextContent('Name*');
150
+ expect(attributeLabels[2]).toHaveTextContent('Required*');
151
+ var attributes = react_2.screen.getAllByTestId('reltio-edit-attribute');
152
+ expect(attributes).toHaveLength(4);
153
+ expect((0, react_2.within)(attributes[0]).getByRole('textbox')).toHaveValue('');
154
+ expect((0, react_2.within)(attributes[1]).getByRole('textbox')).toHaveValue('Some role');
155
+ expect((0, react_2.within)(attributes[2]).getByRole('textbox')).toHaveValue('');
156
+ expect((0, react_2.within)(attributes[3]).getByRole('textbox')).toHaveValue('');
121
157
  });
158
+ it('should not add to more attr types single value types with non-empty attr value', function () { return __awaiter(void 0, void 0, void 0, function () {
159
+ var attrTypes, props, user;
160
+ return __generator(this, function (_a) {
161
+ switch (_a.label) {
162
+ case 0:
163
+ attrTypes = (0, ramda_1.adjust)(1, (0, ramda_1.assoc)('singleValue', true), attributes_test_data_1.attributesList);
164
+ props = __assign(__assign({}, defaultProps), { attrTypes: attrTypes });
165
+ user = setUp({ props: props }).user;
166
+ return [4 /*yield*/, user.click(react_2.screen.getByText('More attributes'))];
167
+ case 1:
168
+ _a.sent();
169
+ expect((0, react_2.within)(react_2.screen.getByRole('presentation')).queryByText('Name')).not.toBeInTheDocument();
170
+ return [2 /*return*/];
171
+ }
172
+ });
173
+ }); });
122
174
  it('should not add to more attr types single value types in showEmptyEditors mode if they did not have deletions', function () {
123
175
  var attrTypes = Object.values(mdm_sdk_1.ActivenessAttrTypes);
124
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: entity, parentUri: parentUri, showEmptyEditors: true }));
125
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(0);
176
+ var props = __assign(__assign({}, defaultProps), { attrTypes: attrTypes, showEmptyEditors: true });
177
+ setUp({ props: props });
178
+ expect(react_2.screen.queryByText('More attributes')).not.toBeInTheDocument();
126
179
  });
127
- it('should add to more attr types single value types in showEmptyEditors mode if they had deletions', function () {
128
- var _a;
129
- var attrTypes = Object.values(mdm_sdk_1.ActivenessAttrTypes);
130
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: entity, parentUri: parentUri, showEmptyEditors: true }));
131
- var _b = component.find(HasDeletionsContext_1.HasDeletionsContext.Provider).prop('value'), hasDeletionsMap = _b.hasDeletionsMap, setHasDeletions = _b.setHasDeletions;
132
- expect(hasDeletionsMap).toEqual({});
133
- (0, test_utils_1.act)(function () {
134
- setHasDeletions(attrTypes[0].uri, true);
180
+ it('should add to more attr types single value types in showEmptyEditors mode if they had deletions', function () { return __awaiter(void 0, void 0, void 0, function () {
181
+ var attrTypes, props, user, menuItems;
182
+ return __generator(this, function (_a) {
183
+ switch (_a.label) {
184
+ case 0:
185
+ attrTypes = Object.values(mdm_sdk_1.ActivenessAttrTypes);
186
+ props = __assign(__assign({}, defaultProps), { attrTypes: attrTypes, showEmptyEditors: true });
187
+ user = setUp({ props: props }).user;
188
+ return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('reltio-delete-simple-attribute-button')[0])];
189
+ case 1:
190
+ _a.sent();
191
+ return [4 /*yield*/, user.click(react_2.screen.getByText('More attributes'))];
192
+ case 2:
193
+ _a.sent();
194
+ menuItems = react_2.screen.getAllByRole('menuitem');
195
+ expect(menuItems).toHaveLength(1);
196
+ expect(menuItems[0]).toHaveTextContent('Start date');
197
+ return [2 /*return*/];
198
+ }
135
199
  });
136
- (0, test_utils_2.rerenderWrapper)(component);
137
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(1);
138
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).prop('data')).toEqual([attrTypes[0]]);
139
- expect(component.find(HasDeletionsContext_1.HasDeletionsContext.Provider).prop('value').hasDeletionsMap).toEqual((_a = {},
140
- _a[attrTypes[0].uri] = true,
141
- _a));
142
- });
200
+ }); });
143
201
  it('should not render pagers for attribute type without CREATE permission', function () {
144
202
  var attrTypes = __spreadArray([], attributes_test_data_1.attributesList, true);
145
203
  attrTypes[0] = __assign({}, attrTypes[0]);
146
204
  attrTypes[3] = __assign({}, attrTypes[3]);
147
205
  attrTypes[0].access = ['DELETE', 'UPDATE'];
148
206
  attrTypes[3].access = ['INITIATE_CHANGE_REQUEST'];
149
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: entity, parentUri: parentUri }));
150
- var pager = component.find(EditModeAttributesPager_1.EditModeAttributesPager);
151
- expect(pager.length).toBe(1);
152
- expect(pager.prop('attributeType').hidden).toBeFalsy();
207
+ var props = __assign(__assign({}, defaultProps), { attrTypes: attrTypes });
208
+ setUp({ props: props });
209
+ expect(react_2.screen.getAllByTestId('reltio-edit-attribute')).toHaveLength(1);
153
210
  });
154
211
  it('should not render pager for not required attribute type with only ov=false values', function () {
155
212
  var attrTypes = [
@@ -162,7 +219,7 @@ describe('EditModeAttributesList tests', function () {
162
219
  uri: 'configuration/entityTypes/HCP/attributes/Name'
163
220
  }
164
221
  ];
165
- var testEntity = __assign(__assign({}, entity), { attributes: {
222
+ var entity = __assign(__assign({}, defaultEntity), { attributes: {
166
223
  Name: [
167
224
  {
168
225
  ov: false,
@@ -178,9 +235,9 @@ describe('EditModeAttributesList tests', function () {
178
235
  }
179
236
  ]
180
237
  } });
181
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: testEntity, parentUri: parentUri }));
182
- var pager = component.find(EditModeAttributesPager_1.EditModeAttributesPager);
183
- expect(pager.length).toBe(0);
238
+ var props = __assign(__assign({}, defaultProps), { entity: entity, attrTypes: attrTypes });
239
+ setUp({ props: props });
240
+ expect(react_2.screen.queryByTestId('reltio-edit-attribute')).not.toBeInTheDocument();
184
241
  });
185
242
  it('should render pager for not required attribute type with ov=false values if showNonOv is true', function () {
186
243
  var attrTypes = [
@@ -193,7 +250,7 @@ describe('EditModeAttributesList tests', function () {
193
250
  uri: 'configuration/entityTypes/HCP/attributes/Name'
194
251
  }
195
252
  ];
196
- var testEntity = __assign(__assign({}, entity), { attributes: {
253
+ var entity = __assign(__assign({}, defaultEntity), { attributes: {
197
254
  Name: [
198
255
  {
199
256
  ov: false,
@@ -203,10 +260,9 @@ describe('EditModeAttributesList tests', function () {
203
260
  }
204
261
  ]
205
262
  } });
206
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: testEntity, parentUri: parentUri, showNonOv: true }));
207
- var pager = component.find(EditModeAttributesPager_1.EditModeAttributesPager);
208
- expect(pager.length).toBe(1);
209
- expect(pager.prop('showNonOv')).toBe(true);
263
+ var props = __assign(__assign({}, defaultProps), { entity: entity, attrTypes: attrTypes, showNonOv: true });
264
+ setUp({ props: props });
265
+ expect(react_2.screen.getAllByTestId('reltio-edit-attribute')).toHaveLength(1);
210
266
  });
211
267
  it('should render pager for required attribute type with only ov=false values', function () {
212
268
  var attrTypes = [
@@ -219,7 +275,7 @@ describe('EditModeAttributesList tests', function () {
219
275
  uri: 'configuration/entityTypes/HCP/attributes/Name'
220
276
  }
221
277
  ];
222
- var testEntity = __assign(__assign({}, entity), { attributes: {
278
+ var entity = __assign(__assign({}, defaultEntity), { attributes: {
223
279
  Name: [
224
280
  {
225
281
  ov: false,
@@ -235,9 +291,9 @@ describe('EditModeAttributesList tests', function () {
235
291
  }
236
292
  ]
237
293
  } });
238
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: testEntity, parentUri: parentUri }));
239
- var pager = component.find(EditModeAttributesPager_1.EditModeAttributesPager);
240
- expect(pager.length).toBe(1);
294
+ var props = __assign(__assign({}, defaultProps), { entity: entity, attrTypes: attrTypes });
295
+ setUp({ props: props });
296
+ expect(react_2.screen.getAllByTestId('reltio-edit-attribute')).toHaveLength(1);
241
297
  });
242
298
  it('should not render pager for not required attribute type without values', function () {
243
299
  var attrTypes = [
@@ -250,115 +306,112 @@ describe('EditModeAttributesList tests', function () {
250
306
  uri: 'configuration/entityTypes/HCP/attributes/Name'
251
307
  }
252
308
  ];
253
- var testEntity = __assign(__assign({}, entity), { attributes: {
254
- Name: []
255
- } });
256
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attrTypes, entity: testEntity, parentUri: parentUri }));
257
- expect(component.find(EditModeAttributesPager_1.EditModeAttributesPager).length).toBe(0);
258
- component.setProps({
259
- entity: __assign(__assign({}, entity), { attributes: {} })
260
- });
261
- expect(component.find(EditModeAttributesPager_1.EditModeAttributesPager).length).toBe(0);
309
+ var entity = __assign(__assign({}, defaultEntity), { attributes: { Name: [] } });
310
+ var props = __assign(__assign({}, defaultProps), { entity: entity, attrTypes: attrTypes });
311
+ var rerender = setUp({ props: props }).rerender;
312
+ expect(react_2.screen.queryByTestId('reltio-edit-attribute')).not.toBeInTheDocument();
313
+ rerender({ entity: __assign(__assign({}, defaultEntity), { attributes: {} }) });
314
+ expect(react_2.screen.queryByTestId('reltio-edit-attribute')).not.toBeInTheDocument();
262
315
  });
263
- it('should render MoreAttributesButton with parent if parentAttributeType is passed and creatable', function () {
264
- var parentAttributeType = {
265
- label: 'Taxonomy',
266
- name: 'Taxonomy',
267
- type: 'Nested',
268
- hidden: false,
269
- uri: 'configuration/entityTypes/People/attributes/Taxonomy',
270
- access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
271
- };
272
- var attrTypes = [
273
- {
274
- label: 'Name',
275
- name: 'Name',
276
- type: 'String',
277
- hidden: false,
278
- required: true,
279
- uri: 'configuration/entityTypes/People/attributes/Taxonomy/attributes/Name',
280
- access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
316
+ it('should render "More attributes" button with parent if parentAttributeType is passed and creatable', function () { return __awaiter(void 0, void 0, void 0, function () {
317
+ var parentAttributeType, attrTypes, entity, props, user, menuItems;
318
+ return __generator(this, function (_a) {
319
+ switch (_a.label) {
320
+ case 0:
321
+ parentAttributeType = {
322
+ label: 'Taxonomy',
323
+ name: 'Taxonomy',
324
+ type: 'Nested',
325
+ hidden: false,
326
+ uri: 'configuration/entityTypes/People/attributes/Taxonomy',
327
+ access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
328
+ };
329
+ attrTypes = [
330
+ {
331
+ label: 'Name',
332
+ name: 'Name',
333
+ type: 'String',
334
+ hidden: false,
335
+ required: true,
336
+ uri: 'configuration/entityTypes/People/attributes/Taxonomy/attributes/Name',
337
+ access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
338
+ }
339
+ ];
340
+ entity = __assign(__assign({}, defaultEntity), { attributes: { Name: [] } });
341
+ props = __assign(__assign({}, defaultProps), { entity: entity, attrTypes: attrTypes, parentAttributeType: parentAttributeType });
342
+ user = setUp({ props: props }).user;
343
+ return [4 /*yield*/, user.click(react_2.screen.getByText('More attributes'))];
344
+ case 1:
345
+ _a.sent();
346
+ menuItems = react_2.screen.getAllByRole('menuitem');
347
+ expect(menuItems).toHaveLength(2);
348
+ expect(menuItems[0]).toHaveTextContent('Taxonomy');
349
+ expect(menuItems[1]).toHaveTextContent('Name*');
350
+ return [2 /*return*/];
281
351
  }
282
- ];
283
- var testEntity = __assign(__assign({}, entity), { attributes: {
284
- Name: []
285
- } });
286
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { parentAttributeType: parentAttributeType, attrTypes: attrTypes, entity: testEntity, parentUri: parentUri }));
287
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(1);
288
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).prop('parent')).toEqual(parentAttributeType);
289
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).prop('data')).toEqual(attrTypes);
290
- });
291
- it('should render MoreAttributesButton without parent if parentAttributeType is passed but not creatable', function () {
292
- var parentAttributeType = {
293
- label: 'Taxonomy',
294
- name: 'Taxonomy',
295
- type: 'Nested',
296
- hidden: false,
297
- uri: 'configuration/entityTypes/People/attributes/Taxonomy',
298
- access: ['READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
299
- };
300
- var attrTypes = [
301
- {
302
- label: 'Name',
303
- name: 'Name',
304
- type: 'String',
305
- hidden: false,
306
- required: true,
307
- uri: 'configuration/entityTypes/People/attributes/Taxonomy/attributes/Name',
308
- access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
352
+ });
353
+ }); });
354
+ it('should render "More attributes" button without parent if parentAttributeType is passed but not creatable', function () { return __awaiter(void 0, void 0, void 0, function () {
355
+ var parentAttributeType, attrTypes, entity, props, user, menuItems;
356
+ return __generator(this, function (_a) {
357
+ switch (_a.label) {
358
+ case 0:
359
+ parentAttributeType = {
360
+ label: 'Taxonomy',
361
+ name: 'Taxonomy',
362
+ type: 'Nested',
363
+ hidden: false,
364
+ uri: 'configuration/entityTypes/People/attributes/Taxonomy',
365
+ access: ['READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
366
+ };
367
+ attrTypes = [
368
+ {
369
+ label: 'Name',
370
+ name: 'Name',
371
+ type: 'String',
372
+ hidden: false,
373
+ required: true,
374
+ uri: 'configuration/entityTypes/People/attributes/Taxonomy/attributes/Name',
375
+ access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
376
+ }
377
+ ];
378
+ entity = __assign(__assign({}, defaultEntity), { attributes: { Name: [] } });
379
+ props = __assign(__assign({}, defaultProps), { entity: entity, attrTypes: attrTypes, parentAttributeType: parentAttributeType });
380
+ user = setUp({ props: props }).user;
381
+ return [4 /*yield*/, user.click(react_2.screen.getByText('More attributes'))];
382
+ case 1:
383
+ _a.sent();
384
+ menuItems = react_2.screen.getAllByRole('menuitem');
385
+ expect(menuItems).toHaveLength(1);
386
+ expect(menuItems[0]).toHaveTextContent('Name*');
387
+ return [2 /*return*/];
309
388
  }
310
- ];
311
- var testEntity = __assign(__assign({}, entity), { attributes: {
312
- Name: []
313
- } });
314
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { parentAttributeType: parentAttributeType, attrTypes: attrTypes, entity: testEntity, parentUri: parentUri }));
315
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(1);
316
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).prop('parent')).toBeFalsy();
317
- expect(component.find(MoreAttributesButton_1.MoreAttributesButton).prop('data')).toEqual(attrTypes);
318
- });
319
- it('should render BranchDecorator for MoreAttributesButton with enabled=true when drawLines prop is true', function () {
320
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attributes_test_data_1.attributesList, entity: entity, parentUri: parentUri, drawLines: true }));
321
- var decorator = component.find(BranchDecorator_1.BranchDecorator);
322
- expect(decorator.length).toBe(1);
323
- expect(decorator.prop('enabled')).toBe(true);
324
- expect(decorator.prop('plain')).toBe(true);
325
- expect(decorator.find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(1);
389
+ });
390
+ }); });
391
+ it('should render branch decorator for "More attributes" button when drawLines prop is true', function () {
392
+ var props = __assign(__assign({}, defaultProps), { drawLines: true });
393
+ setUp({ props: props });
394
+ var decorator = react_2.screen.getAllByTestId('branch-decorator')[0];
395
+ (0, react_2.within)(decorator).getByText('More attributes');
326
396
  });
327
- it('should render BranchDecorator for MoreAttributesButton with enabled=false when drawLines prop is false', function () {
328
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attributes_test_data_1.attributesList, entity: entity, parentUri: parentUri, drawLines: false }));
329
- var decorator = component.find(BranchDecorator_1.BranchDecorator);
330
- expect(decorator.length).toBe(1);
331
- expect(decorator.prop('enabled')).toBe(false);
332
- expect(decorator.prop('plain')).toBe(true);
333
- expect(decorator.find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(1);
397
+ it('should not render branch decorator for "More attributes" button when drawLines prop is false', function () {
398
+ var props = __assign(__assign({}, defaultProps), { drawLines: false });
399
+ setUp({ props: props });
400
+ expect(react_2.screen.queryByTestId('branch-decorator')).not.toBeInTheDocument();
334
401
  });
335
- it('should render BranchDecorator for children', function () {
402
+ it('should render branch decorator for children', function () {
336
403
  var Child = function () { return react_1.default.createElement("span", null, "children"); };
337
- var component = (0, enzyme_1.mount)(react_1.default.createElement(EditModeAttributesList_1.default, { attrTypes: attributes_test_data_1.attributesList, entity: entity, parentUri: parentUri, drawLines: true },
338
- react_1.default.createElement(Child, null)));
339
- var decorators = component.find(BranchDecorator_1.BranchDecorator);
340
- expect(decorators.length).toBe(2);
341
- expect(decorators.at(0).prop('enabled')).toBe(true);
342
- expect(decorators.at(0).prop('plain')).toBeFalsy();
343
- expect(decorators.at(0).find(Child).length).toBe(1);
344
- expect(decorators.at(1).prop('enabled')).toBe(true);
345
- expect(decorators.at(1).prop('plain')).toBe(true);
346
- expect(decorators.at(1).find(MoreAttributesButton_1.MoreAttributesButton).length).toBe(1);
404
+ var props = __assign(__assign({}, defaultProps), { drawLines: true, children: react_1.default.createElement(Child, null) });
405
+ setUp({ props: props });
406
+ var decorators = react_2.screen.getAllByTestId('branch-decorator');
407
+ (0, react_2.within)(decorators[0]).getByText('children');
408
+ (0, react_2.within)(decorators[1]).getByText('More attributes');
347
409
  });
348
- it('should call getAttributesListForEditMode with pinnedAttributes', function () {
349
- var pinnedAttributes = ['pinned'];
350
- var Child = function () { return react_1.default.createElement("span", null, "children"); };
351
- (0, enzyme_1.mount)(react_1.default.createElement(PinnedAttributesContext_1.PinnedAttributesContext.Provider, { value: pinnedAttributes },
352
- react_1.default.createElement(EditModeAttributesList_1.default, { mode: mdm_sdk_1.Mode.Editing, attrTypes: attributes_test_data_1.attributesList, entity: entity, parentUri: parentUri },
353
- react_1.default.createElement(Child, null))));
354
- expect(mdm_sdk_1.getAttributesListForEditMode).toHaveBeenCalledWith({
355
- attrTypes: attributes_test_data_1.attributesList,
356
- mode: mdm_sdk_1.Mode.Editing,
357
- entity: entity,
358
- pinnedAttributes: pinnedAttributes,
359
- configCanCreate: true,
360
- alwaysVisible: [],
361
- isTemporary: false
362
- });
410
+ it('should pin attributes correctly', function () {
411
+ var pinnedAttributes = ['configuration/relationTypes/knowledge/attributes/Required'];
412
+ var attrTypes = (0, ramda_1.adjust)(3, (0, ramda_1.assoc)('required', false), attributes_test_data_1.attributesList);
413
+ var props = __assign(__assign({}, defaultProps), { attrTypes: attrTypes });
414
+ setUp({ props: props, pinnedAttributesContextValue: pinnedAttributes });
415
+ react_2.screen.getByText('Required');
363
416
  });
364
417
  });
@@ -5,24 +5,13 @@ export declare const attributesList: ({
5
5
  hidden: boolean;
6
6
  required: boolean;
7
7
  uri: string;
8
- lookupCode: string;
9
8
  access: string[];
10
9
  } | {
11
10
  label: string;
12
- name: string;
13
- type: string;
14
- hidden: boolean;
15
- required: boolean;
16
- uri: string;
17
- access: string[];
18
- lookupCode?: undefined;
19
- } | {
20
11
  name: string;
21
12
  type: string;
22
13
  required: boolean;
23
14
  uri: string;
24
15
  access: string[];
25
- label?: undefined;
26
16
  hidden?: undefined;
27
- lookupCode?: undefined;
28
17
  })[];
@@ -9,7 +9,6 @@ exports.attributesList = [
9
9
  hidden: false,
10
10
  required: false,
11
11
  uri: 'configuration/relationTypes/knowledge/attributes/Role',
12
- lookupCode: 'rdm/lookupTypes/Role_knowledge',
13
12
  access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
14
13
  },
15
14
  {
@@ -31,6 +30,7 @@ exports.attributesList = [
31
30
  access: ['CREATE', 'READ', 'INITIATE_CHANGE_REQUEST', 'UPDATE']
32
31
  },
33
32
  {
33
+ label: 'Required',
34
34
  name: 'Required',
35
35
  type: 'String',
36
36
  required: true,