@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.
- package/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
- package/BasicTable/BasicTable.test.js +232 -278
- package/BlobRenderer/BlobRenderer.js +1 -1
- package/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
- package/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
- package/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
- package/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
- package/DeleteButton/DeleteButton.spec.js +53 -15
- package/DependentLookupEditor/DependentLookupEditor.test.js +555 -807
- package/Drawer/Drawer.test.js +9 -20
- package/DropDownEditor/DropDownEditor.test.js +81 -29
- package/DropDownMenuButton/DropDownMenuButton.spec.js +101 -70
- package/DropDownSelector/DropDownSelector.test.js +159 -30
- package/EditModeAttributesFactory/EditModeAttributesFactory.test.js +143 -0
- package/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
- package/EditModeAttributesList/attributes.test-data.d.ts +0 -11
- package/EditModeAttributesList/attributes.test-data.js +1 -1
- package/EditModeAttributesPager/EditModeAttributesPager.test.js +698 -234
- package/EditModeAttributesPager/helpers.test.js +2 -12
- package/EditModeAttributesView/EditModeAttributesView.test.js +263 -157
- package/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
- package/EditModeComplexAttribute/EditModeComplexAttribute.test.js +313 -298
- package/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
- package/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
- package/EmptyState/EmptyState.test.js +99 -38
- package/EntityCreator/EntityCreator.test.js +68 -35
- package/EntitySelector/EntitySelector.js +1 -1
- package/EntitySelector/EntitySelector.test.js +275 -422
- package/EntityTypeIcon/EntityTypeIcon.test.js +16 -16
- package/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
- package/ErrorBoundary/ErrorBoundary.test.js +19 -17
- package/ErrorMessage/ErrorMessage.js +1 -1
- package/ErrorPopup/ErrorPopup.test.js +72 -25
- package/ErrorWrapper/ErrorWrapper.test.js +10 -9
- package/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
- package/FileTypeEditor/FileTypeEditor.test.js +95 -64
- package/FilterValueEditor/FilterValueEditor.test.js +183 -157
- package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
- package/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
- package/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
- package/OvIcon/OvIcon.js +2 -2
- package/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
- package/ShowLess/ShowLess.js +1 -1
- package/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
- package/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
- package/cjs/AttributesFiltersBuilder/AttributesFiltersBuilder.test.js +72 -50
- package/cjs/BasicTable/BasicTable.test.js +230 -299
- package/cjs/BlobRenderer/BlobRenderer.js +1 -1
- package/cjs/ConnectionRelationTypeSelector/ConnectionRelationTypeSelector.test.js +125 -111
- package/cjs/DateIntervalSelector/DateIntervalSelector.test.js +87 -65
- package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.js +1 -1
- package/cjs/DefaultCellValueRenderer/DefaultCellValueRenderer.test.js +16 -46
- package/cjs/DeleteButton/DeleteButton.spec.js +53 -15
- package/cjs/DependentLookupEditor/DependentLookupEditor.test.js +569 -821
- package/cjs/Drawer/Drawer.test.js +10 -21
- package/cjs/DropDownEditor/DropDownEditor.test.js +81 -29
- package/cjs/DropDownMenuButton/DropDownMenuButton.spec.js +102 -71
- package/cjs/DropDownSelector/DropDownSelector.test.js +159 -30
- package/cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.js +148 -0
- package/cjs/EditModeAttributesList/EditModeAttributesList.test.js +277 -224
- package/cjs/EditModeAttributesList/attributes.test-data.d.ts +0 -11
- package/cjs/EditModeAttributesList/attributes.test-data.js +1 -1
- package/cjs/EditModeAttributesPager/EditModeAttributesPager.test.js +696 -232
- package/cjs/EditModeAttributesPager/helpers.test.js +2 -12
- package/cjs/EditModeAttributesView/EditModeAttributesView.test.js +262 -156
- package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.js +1 -1
- package/cjs/EditModeComplexAttribute/EditModeComplexAttribute.test.js +312 -297
- package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.d.ts +0 -5
- package/cjs/EditModeComplexAttribute/nestedAttrType.test-data.js +3 -44
- package/cjs/EmptyState/EmptyState.test.js +98 -37
- package/cjs/EntityCreator/EntityCreator.test.js +69 -36
- package/cjs/EntitySelector/EntitySelector.js +1 -1
- package/cjs/EntitySelector/EntitySelector.test.js +274 -421
- package/cjs/EntityTypeIcon/EntityTypeIcon.test.js +17 -17
- package/cjs/EntityTypesSelector/EntityTypesSelector.test.js +62 -21
- package/cjs/ErrorBoundary/ErrorBoundary.test.js +19 -17
- package/cjs/ErrorMessage/ErrorMessage.js +1 -1
- package/cjs/ErrorPopup/ErrorPopup.test.js +71 -24
- package/cjs/ErrorWrapper/ErrorWrapper.test.js +10 -9
- package/cjs/ExpandedValueTooltip/ExpandedValueTooltip.test.js +111 -37
- package/cjs/FileTypeEditor/FileTypeEditor.test.js +95 -64
- package/cjs/FilterValueEditor/FilterValueEditor.test.js +182 -156
- package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.js +2 -2
- package/cjs/HierarchicalAttributeTooltip/HierarchicalAttributeTooltip.test.js +114 -24
- package/cjs/HierarchyNodeTitle/HierarchyNodeTitle.test.js +61 -100
- package/cjs/OvIcon/OvIcon.js +2 -2
- package/cjs/ProfileCard/components/ProfileCardPlaceholder/ProfileCardPlaceholder.js +2 -2
- package/cjs/ShowLess/ShowLess.js +1 -1
- package/cjs/SimpleAttributeEditor/SimpleAttributeEditor.js +2 -2
- package/cjs/UploadFileButton/components/UploadMode/UploadMode.js +1 -1
- package/cjs/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
- package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -2
- package/cjs/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -53
- package/cjs/test-utils/TestStylesProvider.js +6 -5
- package/contexts/ExpandedAttributesContext/useAttributeExpanded.test.js +25 -18
- package/contexts/MdmModuleContext/hooks.d.ts +2 -2
- package/contexts/ReloadDataContext/ReloadDataContext.spec.js +16 -30
- package/package.json +2 -2
- package/test-utils/TestStylesProvider.js +3 -2
- package/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -101
- package/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -106
- package/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
- package/BasicTable/IntegrationBasicTable.test.js +0 -203
- package/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
- package/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -137
- package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
- package/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -32
- package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
- package/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -106
- package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
- package/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -338
- package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
- package/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -225
- package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
- package/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -47
- package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
- package/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -204
- package/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
- package/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -246
- package/EditModeAttributesView/metadata.test-data.d.ts +0 -4
- package/EditModeAttributesView/metadata.test-data.js +0 -119
- package/EntityCreator/entityType.test-data.d.ts +0 -52
- package/EntityCreator/entityType.test-data.js +0 -188
- package/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
- package/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -27
- package/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
- package/EntitySelector/components/EntityOption/EntityOption.test.js +0 -79
- package/EntitySelector/components/Group/Group.test.d.ts +0 -1
- package/EntitySelector/components/Group/Group.test.js +0 -65
- package/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
- package/EntitySelector/components/SingleValue/SingleValue.test.js +0 -78
- package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
- package/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -76
- package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts +0 -1
- package/cjs/AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.js +0 -106
- package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts +0 -1
- package/cjs/AttributesFiltersBuilder/components/RowActions/RowActions.test.js +0 -111
- package/cjs/BasicTable/IntegrationBasicTable.test.d.ts +0 -1
- package/cjs/BasicTable/IntegrationBasicTable.test.js +0 -208
- package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.d.ts +0 -1
- package/cjs/DependentLookupEditor/IntegrationDependentLookupEditor.test.js +0 -142
- package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.d.ts +0 -1
- package/cjs/DropDownMenuButton/components/DefaultMenuItemRenderer/DefaultMenuItemRenderer.spec.js +0 -37
- package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.d.ts +0 -1
- package/cjs/EditModeAttributesFactory/components/EditModeAttribute/EditModeAttribute.test.js +0 -111
- package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.d.ts +0 -1
- package/cjs/EditModeAttributesPager/components/AttributeRenderer/AttributeRenderer.test.js +0 -343
- package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.d.ts +0 -1
- package/cjs/EditModeAttributesPager/components/AttributeRenderer/IntegrationAttributeRenderer.test.js +0 -230
- package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.d.ts +0 -1
- package/cjs/EditModeAttributesPager/components/ImageLineRenderer/ImageLineRenderer.test.js +0 -52
- package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.d.ts +0 -1
- package/cjs/EditModeAttributesPager/components/SpecialRenderer/SpecialRenderer.test.js +0 -209
- package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.d.ts +0 -1
- package/cjs/EditModeAttributesView/IntegrationEditModeAttributesView.test.js +0 -251
- package/cjs/EditModeAttributesView/metadata.test-data.d.ts +0 -4
- package/cjs/EditModeAttributesView/metadata.test-data.js +0 -123
- package/cjs/EntityCreator/entityType.test-data.d.ts +0 -52
- package/cjs/EntityCreator/entityType.test-data.js +0 -191
- package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.d.ts +0 -1
- package/cjs/EntitySelector/components/ClearIndicator/ClearIndicator.test.js +0 -32
- package/cjs/EntitySelector/components/EntityOption/EntityOption.test.d.ts +0 -1
- package/cjs/EntitySelector/components/EntityOption/EntityOption.test.js +0 -84
- package/cjs/EntitySelector/components/Group/Group.test.d.ts +0 -1
- package/cjs/EntitySelector/components/Group/Group.test.js +0 -70
- package/cjs/EntitySelector/components/SingleValue/SingleValue.test.d.ts +0 -1
- package/cjs/EntitySelector/components/SingleValue/SingleValue.test.js +0 -83
- package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.d.ts +0 -1
- package/cjs/FilterValueEditor/components/RangeDataTypeValueEditor/RangeDataTypeValueEditor.test.js +0 -81
- package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
- package/cjs/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -104
- package/contexts/CollaborationContext/CollaborationContextProvider.test.d.ts +0 -1
- package/contexts/CollaborationContext/CollaborationContextProvider.test.js +0 -99
- /package/{AttributesFiltersBuilder/components/AttributeSelector/AttributeSelector.test.d.ts → EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
- /package/{AttributesFiltersBuilder/components/RowActions/RowActions.test.d.ts → cjs/EditModeAttributesFactory/EditModeAttributesFactory.test.d.ts} +0 -0
|
@@ -10,365 +10,380 @@ 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 __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
51
|
};
|
|
16
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
53
|
var react_1 = __importDefault(require("react"));
|
|
18
|
-
var
|
|
19
|
-
var
|
|
20
|
-
var Button_1 = __importDefault(require("@mui/material/Button"));
|
|
54
|
+
var react_2 = require("@testing-library/react");
|
|
55
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
21
56
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
22
|
-
var EditModeComplexAttribute_1 = __importDefault(require("./EditModeComplexAttribute"));
|
|
23
|
-
var nestedAttrType_test_data_1 = require("./nestedAttrType.test-data");
|
|
24
|
-
var nestedAttrValue_test_data_1 = require("./nestedAttrValue.test-data");
|
|
25
|
-
var EditModeAttributesList_1 = require("../EditModeAttributesList");
|
|
26
|
-
var SmallIconButton_1 = require("../SmallIconButton");
|
|
27
|
-
var ErrorWrapper_1 = require("../ErrorWrapper");
|
|
28
|
-
var ArrowExpandButton_1 = require("../ArrowExpandButton");
|
|
29
|
-
var useScrollToAttributeError_1 = require("../hooks/useScrollToAttributeError");
|
|
30
57
|
var MdmModuleContext_1 = require("../contexts/MdmModuleContext");
|
|
31
58
|
var ScrollToElementContext_1 = require("../contexts/ScrollToElementContext");
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
59
|
+
var nestedAttrType_test_data_1 = require("./nestedAttrType.test-data");
|
|
60
|
+
var nestedAttrValue_test_data_1 = require("./nestedAttrValue.test-data");
|
|
61
|
+
var EditModeComplexAttribute_1 = __importDefault(require("./EditModeComplexAttribute"));
|
|
62
|
+
var defaultMdmValues = { dependentLookups: { editors: {}, structure: {}, initedTypeUris: [] } };
|
|
63
|
+
var defaultProps = {
|
|
64
|
+
metadata: {
|
|
65
|
+
entityTypes: [],
|
|
66
|
+
relationTypes: [
|
|
67
|
+
{
|
|
68
|
+
uri: 'configuration/relationTypes/InternalHCPtoHCP',
|
|
69
|
+
label: 'HCP to HCP',
|
|
70
|
+
attributes: [nestedAttrType_test_data_1.nestedAttributeType]
|
|
71
|
+
}
|
|
72
|
+
]
|
|
73
|
+
},
|
|
74
|
+
label: 'Label!!!',
|
|
75
|
+
attributeType: nestedAttrType_test_data_1.nestedAttributeType,
|
|
76
|
+
attributeValue: nestedAttrValue_test_data_1.nestedAttributeValue,
|
|
77
|
+
attributeTypesList: nestedAttrType_test_data_1.nestedAttributeType.attributes,
|
|
78
|
+
mode: mdm_sdk_1.Mode.Editing,
|
|
79
|
+
onAddAttributes: jest.fn(),
|
|
80
|
+
onDeleteAttribute: jest.fn(),
|
|
81
|
+
onChangeAttribute: jest.fn(),
|
|
82
|
+
additionalControlsRenderer: jest.fn(function (_a) {
|
|
83
|
+
var attributeType = _a.attributeType;
|
|
84
|
+
return react_1.default.createElement("div", null,
|
|
85
|
+
"Additional Controls ",
|
|
86
|
+
attributeType.label);
|
|
87
|
+
})
|
|
88
|
+
};
|
|
89
|
+
var defaultScrollToElementContextValue = {
|
|
90
|
+
element: null,
|
|
91
|
+
highlightError: jest.fn(),
|
|
92
|
+
type: ScrollToElementContext_1.ScrollType.Error,
|
|
93
|
+
scrollIntoRef: jest.fn()
|
|
94
|
+
};
|
|
95
|
+
var setUp = function (_a) {
|
|
96
|
+
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.scrollToElementContextValue, scrollToElementContextValue = _e === void 0 ? defaultScrollToElementContextValue : _e;
|
|
97
|
+
var user = user_event_1.default.setup();
|
|
98
|
+
var Providers = function (_a) {
|
|
99
|
+
var children = _a.children;
|
|
100
|
+
return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues }, children));
|
|
52
101
|
};
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
var
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
react_1.default.createElement(ScrollToElementContext_1.ScrollToElementContext.Provider, { value: {
|
|
60
|
-
element: error,
|
|
61
|
-
highlightError: highlightErrorSpy,
|
|
62
|
-
type: ScrollToElementContext_1.ScrollType.Error,
|
|
63
|
-
scrollIntoRef: scrollIntoRefSpy
|
|
64
|
-
} },
|
|
65
|
-
react_1.default.createElement(EditModeComplexAttribute_1.default, __assign({}, props), children))));
|
|
102
|
+
var result = (0, react_2.render)(react_1.default.createElement(ScrollToElementContext_1.ScrollToElementContext.Provider, { value: scrollToElementContextValue },
|
|
103
|
+
react_1.default.createElement(EditModeComplexAttribute_1.default, __assign({}, props))), { wrapper: Providers });
|
|
104
|
+
var rerender = function (_a) {
|
|
105
|
+
var newProps = _a.props, newScrollToElementContextValue = _a.scrollToElementContextValue;
|
|
106
|
+
return result.rerender(react_1.default.createElement(ScrollToElementContext_1.ScrollToElementContext.Provider, { value: __assign(__assign({}, scrollToElementContextValue), newScrollToElementContextValue) },
|
|
107
|
+
react_1.default.createElement(EditModeComplexAttribute_1.default, __assign({}, props, newProps))));
|
|
66
108
|
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
109
|
+
return __assign(__assign({}, result), { rerender: rerender, user: user });
|
|
110
|
+
};
|
|
111
|
+
describe('Edit mode complex attribute tests', function () {
|
|
112
|
+
afterEach(function () {
|
|
71
113
|
jest.clearAllMocks();
|
|
72
114
|
});
|
|
73
115
|
it('should render expand button and label', function () {
|
|
74
|
-
var props = __assign({}, defaultProps);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
expect(
|
|
79
|
-
expect(
|
|
80
|
-
expect(
|
|
81
|
-
expect(component.find(EditModeAttributesList_1.EditModeAttributesList).length).toBe(0);
|
|
82
|
-
expect(findCreateAttributeButton(component).length).toBe(0);
|
|
83
|
-
var complexWrapper = component.find('.complexWrapper');
|
|
84
|
-
expect(complexWrapper.hasClass(scrollToAttributeError.errorClassName)).toBeTruthy();
|
|
85
|
-
expect(complexWrapper.getElement().ref).toBe(scrollToAttributeError.ref);
|
|
116
|
+
var props = __assign(__assign({}, defaultProps), { onDeleteAttribute: undefined });
|
|
117
|
+
setUp({ props: props });
|
|
118
|
+
react_2.screen.getByTestId('arrow-expand-button');
|
|
119
|
+
react_2.screen.getByText('Label!!!');
|
|
120
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
121
|
+
expect(react_2.screen.queryByTestId('reltio-delete-complex-attribute-button')).not.toBeInTheDocument();
|
|
122
|
+
expect(react_2.screen.queryByText('Create attribute')).not.toBeInTheDocument();
|
|
86
123
|
});
|
|
87
124
|
it('should render lazy variant of control if lazy prop is true', function () {
|
|
88
|
-
var props = __assign({ lazy: true }
|
|
89
|
-
|
|
90
|
-
expect(
|
|
91
|
-
|
|
92
|
-
expect(findDeleteButton(component).length).toBe(0);
|
|
93
|
-
expect(component.find(EditModeAttributesList_1.EditModeAttributesList).length).toBe(0);
|
|
94
|
-
expect(findCreateAttributeButton(component).length).toBe(1);
|
|
125
|
+
var props = __assign(__assign({}, defaultProps), { lazy: true });
|
|
126
|
+
setUp({ props: props });
|
|
127
|
+
expect(react_2.screen.queryByTestId('reltio-edit-mode-complex-attribute')).not.toBeInTheDocument();
|
|
128
|
+
react_2.screen.getByText('Create attribute');
|
|
95
129
|
});
|
|
96
130
|
it('should render delete button if onDeleteAttribute prop is specified', function () {
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
expect(findDeleteButton(component).length).toBe(1);
|
|
131
|
+
setUp();
|
|
132
|
+
react_2.screen.getByTestId('reltio-delete-complex-attribute-button');
|
|
100
133
|
});
|
|
101
134
|
it('should not render delete button if hideDeleteButton prop is true', function () {
|
|
102
|
-
var props = __assign(__assign({}, defaultProps), {
|
|
103
|
-
|
|
104
|
-
expect(
|
|
135
|
+
var props = __assign(__assign({}, defaultProps), { hideDeleteButton: true });
|
|
136
|
+
setUp({ props: props });
|
|
137
|
+
expect(react_2.screen.queryByTestId('reltio-delete-complex-attribute-button')).not.toBeInTheDocument();
|
|
105
138
|
});
|
|
106
139
|
it('should not render delete button if there are no DELETE permissions', function () {
|
|
107
|
-
var
|
|
108
|
-
var
|
|
109
|
-
|
|
140
|
+
var attributeType = __assign(__assign({}, nestedAttrType_test_data_1.nestedAttributeType), { access: [mdm_sdk_1.MetadataPermissions.READ, mdm_sdk_1.MetadataPermissions.UPDATE] });
|
|
141
|
+
var props = __assign(__assign({}, defaultProps), { attributeType: attributeType });
|
|
142
|
+
setUp({ props: props });
|
|
143
|
+
expect(react_2.screen.queryByTestId('reltio-delete-complex-attribute-button')).not.toBeInTheDocument();
|
|
110
144
|
});
|
|
111
|
-
it('should call onDeleteAttribute prop with attributeType and value uri after click on delete button', function () {
|
|
112
|
-
var
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
145
|
+
it('should call onDeleteAttribute prop with attributeType and value uri after click on delete button', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
146
|
+
var user;
|
|
147
|
+
return __generator(this, function (_a) {
|
|
148
|
+
switch (_a.label) {
|
|
149
|
+
case 0:
|
|
150
|
+
user = setUp().user;
|
|
151
|
+
return [4 /*yield*/, user.click(react_2.screen.getByTestId('reltio-delete-complex-attribute-button'))];
|
|
152
|
+
case 1:
|
|
153
|
+
_a.sent();
|
|
154
|
+
expect(defaultProps.onDeleteAttribute).toHaveBeenCalledWith({
|
|
155
|
+
uri: defaultProps.attributeValue.uri,
|
|
156
|
+
attributeType: defaultProps.attributeType,
|
|
157
|
+
attributeValue: defaultProps.attributeValue
|
|
158
|
+
});
|
|
159
|
+
return [2 /*return*/];
|
|
160
|
+
}
|
|
119
161
|
});
|
|
120
|
-
});
|
|
162
|
+
}); });
|
|
121
163
|
it('should render additional controls if additionalControlsRenderer prop is specified', function () {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
var component = setUp(props);
|
|
128
|
-
var additionalControls = component.find(AdditionalControls);
|
|
129
|
-
expect(additionalControls.length).toBe(1);
|
|
130
|
-
expect(additionalControls.prop('attributeValue')).toBe(props.attributeValue);
|
|
131
|
-
expect(additionalControls.prop('attributeType')).toBe(props.attributeType);
|
|
132
|
-
});
|
|
133
|
-
it('should render EditModeAttributesList after click on expand button', function () {
|
|
134
|
-
var props = __assign(__assign({}, defaultProps), { onDeleteAttribute: jest.fn() });
|
|
135
|
-
var children = react_1.default.createElement("span", null, "children");
|
|
136
|
-
var component = setUp(props, children);
|
|
137
|
-
expect(component.find(EditModeAttributesList_1.EditModeAttributesList).length).toBe(0);
|
|
138
|
-
(0, test_utils_1.act)(function () {
|
|
139
|
-
findExpandButton(component).prop('onClick')();
|
|
164
|
+
setUp();
|
|
165
|
+
react_2.screen.getByText('Additional Controls Additional Attributes');
|
|
166
|
+
expect(defaultProps.additionalControlsRenderer).toHaveBeenCalledWith({
|
|
167
|
+
attributeType: defaultProps.attributeType,
|
|
168
|
+
attributeValue: defaultProps.attributeValue
|
|
140
169
|
});
|
|
141
|
-
component.update();
|
|
142
|
-
var attributesList = component.find(EditModeAttributesList_1.EditModeAttributesList);
|
|
143
|
-
expect(attributesList.length).toBe(1);
|
|
144
|
-
expect(attributesList.prop('children')).toBe(children);
|
|
145
170
|
});
|
|
146
|
-
it('should render EditModeAttributesList
|
|
147
|
-
var props
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
171
|
+
it('should render EditModeAttributesList after click on expand button', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
172
|
+
var props, user;
|
|
173
|
+
return __generator(this, function (_a) {
|
|
174
|
+
switch (_a.label) {
|
|
175
|
+
case 0:
|
|
176
|
+
props = __assign(__assign({}, defaultProps), { children: react_1.default.createElement("div", null, "Children") });
|
|
177
|
+
user = setUp({ props: props }).user;
|
|
178
|
+
expect(react_2.screen.queryByText('More attributes')).not.toBeInTheDocument();
|
|
179
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
180
|
+
return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
|
|
181
|
+
case 1:
|
|
182
|
+
_a.sent();
|
|
183
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(2);
|
|
184
|
+
react_2.screen.getByText('More attributes');
|
|
185
|
+
react_2.screen.getByText('Children');
|
|
186
|
+
return [2 /*return*/];
|
|
187
|
+
}
|
|
153
188
|
});
|
|
154
|
-
|
|
155
|
-
var attributesList = component.find(EditModeAttributesList_1.EditModeAttributesList);
|
|
156
|
-
expect(attributesList.length).toBe(1);
|
|
157
|
-
expect(attributesList.prop('children')).toBe(children);
|
|
158
|
-
expect(attributesList.prop('parentAttributeType')).toEqual(props.attributeType);
|
|
159
|
-
});
|
|
189
|
+
}); });
|
|
160
190
|
it('should render EditModeAttributesList if expand prop was passed', function () {
|
|
161
|
-
var props = __assign(__assign({}, defaultProps), { expanded: true,
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
expect(attributesList.prop('children')).toBe(children);
|
|
167
|
-
});
|
|
168
|
-
it('should be expanded by default for new attributes', function () {
|
|
169
|
-
var props = __assign(__assign({}, defaultProps), { attributeValue: __assign(__assign({}, nestedAttrValue_test_data_1.nestedAttributeValue), { uri: 'relations/sIeHttl/attributes/AdditionalAttributes/uri$$123' }), onDeleteAttribute: jest.fn() });
|
|
170
|
-
var children = react_1.default.createElement("span", null, "children");
|
|
171
|
-
var component = setUp(props, children);
|
|
172
|
-
var attributesList = component.find(EditModeAttributesList_1.EditModeAttributesList);
|
|
173
|
-
expect(attributesList.length).toBe(1);
|
|
174
|
-
expect(attributesList.prop('children')).toBe(children);
|
|
175
|
-
(0, test_utils_1.act)(function () {
|
|
176
|
-
findExpandButton(component).at(0).prop('onClick')();
|
|
177
|
-
});
|
|
178
|
-
component.update();
|
|
179
|
-
expect(component.find(EditModeAttributesList_1.EditModeAttributesList).length).toBe(0);
|
|
180
|
-
});
|
|
181
|
-
it('should set correct props for EditModeAttributesList', function () {
|
|
182
|
-
var props = __assign(__assign({}, defaultProps), { onAddAttributes: jest.fn(), onDeleteAttribute: jest.fn(), onChangeAttribute: jest.fn(), additionalControlsRenderer: jest.fn(), crosswalks: [], mode: mdm_sdk_1.Mode.Editing, showEmptyEditors: true });
|
|
183
|
-
var component = setUp(props);
|
|
184
|
-
(0, test_utils_1.act)(function () {
|
|
185
|
-
findExpandButton(component).prop('onClick')();
|
|
186
|
-
});
|
|
187
|
-
component.update();
|
|
188
|
-
var attributesList = component.find(EditModeAttributesList_1.EditModeAttributesList);
|
|
189
|
-
expect(attributesList.length).toBe(1);
|
|
190
|
-
expect(attributesList.props()).toMatchObject({
|
|
191
|
-
onAddAttributes: props.onAddAttributes,
|
|
192
|
-
onDeleteAttribute: props.onDeleteAttribute,
|
|
193
|
-
onChangeAttribute: props.onChangeAttribute,
|
|
194
|
-
additionalControlsRenderer: props.additionalControlsRenderer,
|
|
195
|
-
crosswalks: props.crosswalks,
|
|
196
|
-
mode: props.mode,
|
|
197
|
-
showEmptyEditors: props.showEmptyEditors,
|
|
198
|
-
parentUri: props.attributeValue.uri,
|
|
199
|
-
drawLines: true,
|
|
200
|
-
attrTypes: props.attributeType.attributes,
|
|
201
|
-
entity: { attributes: props.attributeValue.value }
|
|
202
|
-
});
|
|
191
|
+
var props = __assign(__assign({}, defaultProps), { expanded: true, children: react_1.default.createElement("div", null, "Children") });
|
|
192
|
+
setUp({ props: props });
|
|
193
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(2);
|
|
194
|
+
react_2.screen.getByText('More attributes');
|
|
195
|
+
react_2.screen.getByText('Children');
|
|
203
196
|
});
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
197
|
+
it('should be expanded by default for new attributes', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
198
|
+
var props, user;
|
|
199
|
+
return __generator(this, function (_a) {
|
|
200
|
+
switch (_a.label) {
|
|
201
|
+
case 0:
|
|
202
|
+
props = __assign(__assign({}, defaultProps), { attributeValue: __assign(__assign({}, nestedAttrValue_test_data_1.nestedAttributeValue), { uri: 'relations/sIeHttl/attributes/AdditionalAttributes/uri$$123' }), children: react_1.default.createElement("div", null, "Children") });
|
|
203
|
+
user = setUp({ props: props }).user;
|
|
204
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(2);
|
|
205
|
+
react_2.screen.getByText('More attributes');
|
|
206
|
+
react_2.screen.getByText('Children');
|
|
207
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[0])];
|
|
208
|
+
case 1:
|
|
209
|
+
_a.sent();
|
|
210
|
+
expect(react_2.screen.queryByText('More attributes')).not.toBeInTheDocument();
|
|
211
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
212
|
+
return [2 /*return*/];
|
|
213
|
+
}
|
|
207
214
|
});
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
215
|
+
}); });
|
|
216
|
+
it('should render attributes correctly', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
217
|
+
var user, complexAttributeActions, attributeActions, complexAttributeLabels, attributeTitles, attributeValues;
|
|
218
|
+
return __generator(this, function (_a) {
|
|
219
|
+
switch (_a.label) {
|
|
220
|
+
case 0:
|
|
221
|
+
user = setUp().user;
|
|
222
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[0])];
|
|
223
|
+
case 1:
|
|
224
|
+
_a.sent();
|
|
225
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[1])];
|
|
226
|
+
case 2:
|
|
227
|
+
_a.sent();
|
|
228
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[2])];
|
|
229
|
+
case 3:
|
|
230
|
+
_a.sent();
|
|
231
|
+
complexAttributeActions = react_2.screen.getAllByTestId('reltio-complex-attribute-actions');
|
|
232
|
+
expect(complexAttributeActions).toHaveLength(3);
|
|
233
|
+
expect(complexAttributeActions[0]).toHaveTextContent('Additional Controls Additional Attributes');
|
|
234
|
+
expect(complexAttributeActions[1]).toHaveTextContent('Additional Controls Sub Nested');
|
|
235
|
+
expect(complexAttributeActions[2]).toHaveTextContent('Additional Controls Sub Sub Nested');
|
|
236
|
+
attributeActions = react_2.screen.getAllByTestId('reltio-attribute-actions');
|
|
237
|
+
expect(attributeActions).toHaveLength(1);
|
|
238
|
+
expect(attributeActions[0]).toHaveTextContent('Additional Controls Attribute Value');
|
|
239
|
+
complexAttributeLabels = react_2.screen.getAllByTestId('reltio-attribute-complex-label');
|
|
240
|
+
expect(complexAttributeLabels).toHaveLength(3);
|
|
241
|
+
expect(complexAttributeLabels[0]).toHaveTextContent('Label!!!');
|
|
242
|
+
expect(complexAttributeLabels[1]).toHaveTextContent('<No label>');
|
|
243
|
+
expect(complexAttributeLabels[2]).toHaveTextContent('<No label>');
|
|
244
|
+
attributeTitles = react_2.screen.getAllByTestId('reltio-attribute-label');
|
|
245
|
+
expect(attributeTitles).toHaveLength(3);
|
|
246
|
+
expect(attributeTitles[0]).toHaveTextContent('Sub Nested');
|
|
247
|
+
expect(attributeTitles[1]).toHaveTextContent('Sub Sub Nested');
|
|
248
|
+
expect(attributeTitles[2]).toHaveTextContent('Attribute Value');
|
|
249
|
+
attributeValues = react_2.screen.getAllByTestId('reltio-attribute-value');
|
|
250
|
+
expect(attributeValues).toHaveLength(1);
|
|
251
|
+
expect((0, react_2.within)(attributeValues[0]).getByRole('textbox')).toHaveValue('12321');
|
|
252
|
+
return [2 /*return*/];
|
|
253
|
+
}
|
|
214
254
|
});
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
255
|
+
}); });
|
|
256
|
+
it('should call onDeleteAttribute prop with deep nested attributeType and value uri after click on delete button in deep nested', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
257
|
+
var user;
|
|
258
|
+
return __generator(this, function (_a) {
|
|
259
|
+
switch (_a.label) {
|
|
260
|
+
case 0:
|
|
261
|
+
user = setUp().user;
|
|
262
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[0])];
|
|
263
|
+
case 1:
|
|
264
|
+
_a.sent();
|
|
265
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[1])];
|
|
266
|
+
case 2:
|
|
267
|
+
_a.sent();
|
|
268
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('arrow-expand-button')[2])];
|
|
269
|
+
case 3:
|
|
270
|
+
_a.sent();
|
|
271
|
+
return [4 /*yield*/, user.click(react_2.screen.getAllByTestId('reltio-delete-complex-attribute-button')[2])];
|
|
272
|
+
case 4:
|
|
273
|
+
_a.sent();
|
|
274
|
+
expect(defaultProps.onDeleteAttribute).toHaveBeenCalledWith({
|
|
275
|
+
uri: defaultProps.attributeValue.value.SubNested[0].value.SubSubNested[0].uri,
|
|
276
|
+
attributeType: defaultProps.attributeType.attributes[0].attributes[0],
|
|
277
|
+
attributeValue: defaultProps.attributeValue.value.SubNested[0].value.SubSubNested[0]
|
|
278
|
+
});
|
|
279
|
+
return [2 /*return*/];
|
|
280
|
+
}
|
|
221
281
|
});
|
|
222
|
-
|
|
223
|
-
};
|
|
224
|
-
it('should render deep nested attributes', function () {
|
|
225
|
-
var AdditionalControls = function () { return react_1.default.createElement("div", null); };
|
|
226
|
-
var props = __assign(__assign({}, defaultProps), { onAddAttributes: jest.fn(), onDeleteAttribute: jest.fn(), onChangeAttribute: jest.fn(), additionalControlsRenderer: function (_a) {
|
|
227
|
-
var attributeValue = _a.attributeValue, attributeType = _a.attributeType;
|
|
228
|
-
return (react_1.default.createElement(AdditionalControls, { attributeValue: attributeValue, attributeType: attributeType }));
|
|
229
|
-
}, crosswalks: [], mode: mdm_sdk_1.Mode.Editing, showEmptyEditors: true });
|
|
230
|
-
var component = setUp(props);
|
|
231
|
-
expect(component.find(EditModeComplexAttribute_1.default).length).toBe(1);
|
|
232
|
-
expandSubNesteds(component);
|
|
233
|
-
expect(component.find(EditModeComplexAttribute_1.default).length).toBe(3);
|
|
234
|
-
var deepComplex = component.find(EditModeComplexAttribute_1.default).at(2);
|
|
235
|
-
var deepComplexValue = props.attributeValue.value.SubNested[0].value.SubSubNested[0];
|
|
236
|
-
var deepComplexAttrType = props.attributeType.attributes[0].attributes[0];
|
|
237
|
-
expect(deepComplex.prop('attributeValue')).toBe(deepComplexValue);
|
|
238
|
-
expect(deepComplex.prop('attributeType')).toBe(deepComplexAttrType);
|
|
239
|
-
var deepAdditionalControlInsideComplex = deepComplex.find(AdditionalControls);
|
|
240
|
-
expect(deepAdditionalControlInsideComplex.length).toBe(2); // for complex and simple inside
|
|
241
|
-
expect(deepAdditionalControlInsideComplex.at(0).prop('attributeValue')).toBe(deepComplexValue);
|
|
242
|
-
expect(deepAdditionalControlInsideComplex.at(0).prop('attributeType')).toBe(deepComplexAttrType);
|
|
243
|
-
var deepSimple = component.find('SimpleAttributeEditor');
|
|
244
|
-
expect(deepSimple.length).toBe(1);
|
|
245
|
-
var deepSimpleValue = props.attributeValue.value.SubNested[0].value.SubSubNested[0].value.AttributeValue[0];
|
|
246
|
-
var deepSimpleAttrType = props.attributeType.attributes[0].attributes[0].attributes[0];
|
|
247
|
-
expect(deepSimple.prop('attributeValue')).toBe(deepSimpleValue);
|
|
248
|
-
expect(deepSimple.prop('attributeType')).toBe(deepSimpleAttrType);
|
|
249
|
-
var deepAdditionalControlInsideSimple = deepSimple.find(AdditionalControls);
|
|
250
|
-
expect(deepAdditionalControlInsideSimple.length).toBe(1);
|
|
251
|
-
expect(deepAdditionalControlInsideSimple.prop('attributeValue')).toBe(deepSimpleValue);
|
|
252
|
-
expect(deepAdditionalControlInsideSimple.prop('attributeType')).toBe(deepSimpleAttrType);
|
|
253
|
-
});
|
|
254
|
-
it('should call onDeleteAttribute prop with deep nested attributeType and value uri after click on delete button in deep nested', function () {
|
|
255
|
-
var props = __assign(__assign({}, defaultProps), { onAddAttributes: jest.fn(), onDeleteAttribute: jest.fn(), onChangeAttribute: jest.fn(), crosswalks: [], mode: mdm_sdk_1.Mode.Editing, showEmptyEditors: true });
|
|
256
|
-
var component = (0, enzyme_1.mount)(react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: mdmValues },
|
|
257
|
-
react_1.default.createElement(EditModeComplexAttribute_1.default, __assign({}, props))));
|
|
258
|
-
expect(component.find(EditModeComplexAttribute_1.default).length).toBe(1);
|
|
259
|
-
expandSubNesteds(component);
|
|
260
|
-
expect(component.find(EditModeComplexAttribute_1.default).length).toBe(3);
|
|
261
|
-
var deepComplex = component.find(EditModeComplexAttribute_1.default).at(2);
|
|
262
|
-
(0, test_utils_1.act)(function () {
|
|
263
|
-
findDeleteButton(deepComplex).prop('onClick')();
|
|
264
|
-
});
|
|
265
|
-
expect(props.onDeleteAttribute).toHaveBeenCalledWith({
|
|
266
|
-
uri: props.attributeValue.value.SubNested[0].value.SubSubNested[0].uri,
|
|
267
|
-
attributeType: props.attributeType.attributes[0].attributes[0],
|
|
268
|
-
attributeValue: props.attributeValue.value.SubNested[0].value.SubSubNested[0]
|
|
269
|
-
});
|
|
270
|
-
});
|
|
282
|
+
}); });
|
|
271
283
|
it('should not show error message if error prop is not specified', function () {
|
|
272
|
-
|
|
273
|
-
expect(
|
|
284
|
+
setUp();
|
|
285
|
+
expect(react_2.screen.queryByTestId('error-message')).not.toBeInTheDocument();
|
|
274
286
|
});
|
|
275
287
|
it('should show error message if ownError prop is specified', function () {
|
|
276
288
|
var props = __assign(__assign({}, defaultProps), { ownError: {
|
|
277
|
-
type:
|
|
278
|
-
message: 'error
|
|
289
|
+
type: mdm_sdk_1.ErrorType.invalid,
|
|
290
|
+
message: 'error description',
|
|
279
291
|
attributeTypeUri: 'any1',
|
|
280
292
|
parentUri: 'any2',
|
|
281
293
|
uri: 'any3'
|
|
282
294
|
} });
|
|
283
|
-
|
|
284
|
-
expect(
|
|
285
|
-
expect(
|
|
295
|
+
setUp({ props: props });
|
|
296
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
297
|
+
expect(react_2.screen.getByTestId('error-message')).toHaveTextContent(props.ownError.message);
|
|
286
298
|
});
|
|
287
299
|
it('should become expanded and show special error message if errors props contains descendants errors', function () {
|
|
288
|
-
var props = __assign(__assign({}, defaultProps), {
|
|
289
|
-
var
|
|
290
|
-
expect(
|
|
291
|
-
expect(
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
300
|
+
var props = __assign(__assign({}, defaultProps), { errors: [] });
|
|
301
|
+
var rerender = setUp({ props: props }).rerender;
|
|
302
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
303
|
+
expect(react_2.screen.queryByTestId('error-message')).not.toBeInTheDocument();
|
|
304
|
+
rerender({
|
|
305
|
+
props: {
|
|
306
|
+
errors: [
|
|
307
|
+
{
|
|
308
|
+
parentUri: 'relations/sIeHttl/attributes/AdditionalAttributes/2zoXFFwDl/SubNested/gdggfgfgdf/SubSubNested/1',
|
|
309
|
+
uri: '',
|
|
310
|
+
attributeTypeUri: 'configuration/relationTypes/InternalHCPtoHCP/attributes/AdditionalAttributes/attributes/SubNested/attributes/SubSubNested/attributes/AttributeValue',
|
|
311
|
+
message: 'Attribute is required',
|
|
312
|
+
type: mdm_sdk_1.ErrorType.missed
|
|
313
|
+
}
|
|
314
|
+
]
|
|
315
|
+
}
|
|
302
316
|
});
|
|
303
|
-
|
|
304
|
-
expect(
|
|
305
|
-
expect(component.find(ErrorWrapper_1.ErrorWrapper).at(0).prop('errorMessage')).toBe('Has an incorrect value');
|
|
317
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(2);
|
|
318
|
+
expect(react_2.screen.getByTestId('error-message')).toHaveTextContent('Has an incorrect value');
|
|
306
319
|
});
|
|
307
|
-
it('should become collapsed after setting "state" prop to "deleted"', function () {
|
|
308
|
-
var
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
320
|
+
it('should become collapsed after setting "state" prop to "deleted"', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
321
|
+
var _a, user, rerender;
|
|
322
|
+
return __generator(this, function (_b) {
|
|
323
|
+
switch (_b.label) {
|
|
324
|
+
case 0:
|
|
325
|
+
_a = setUp(), user = _a.user, rerender = _a.rerender;
|
|
326
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
327
|
+
expect(react_2.screen.getByTestId('reltio-attribute-complex-label')).not.toHaveClass('deleted');
|
|
328
|
+
expect(react_2.screen.getByTestId('arrow-expand-button')).not.toBeDisabled();
|
|
329
|
+
react_2.screen.getByTestId('reltio-delete-complex-attribute-button');
|
|
330
|
+
return [4 /*yield*/, user.click(react_2.screen.getByTestId('arrow-expand-button'))];
|
|
331
|
+
case 1:
|
|
332
|
+
_b.sent();
|
|
333
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(2);
|
|
334
|
+
rerender({ props: { state: 'deleted' } });
|
|
335
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
336
|
+
expect(react_2.screen.getByTestId('reltio-attribute-complex-label')).toHaveClass('deleted');
|
|
337
|
+
expect(react_2.screen.getByTestId('arrow-expand-button')).toBeDisabled();
|
|
338
|
+
expect(react_2.screen.queryByTestId('reltio-delete-complex-attribute-button')).not.toBeInTheDocument();
|
|
339
|
+
return [2 /*return*/];
|
|
340
|
+
}
|
|
321
341
|
});
|
|
322
|
-
|
|
323
|
-
expect(isComplexAttributeExpanded(component)).toBe(false);
|
|
324
|
-
expect(findDeleteButton(component).length).toBe(0);
|
|
325
|
-
expect(findLabel(component).hasClass('deleted')).toBe(true);
|
|
326
|
-
expect(findExpandButton(component).prop('disabled')).toBe(true);
|
|
327
|
-
});
|
|
342
|
+
}); });
|
|
328
343
|
it('should render "edited" badge after setting "state" prop to "edited"', function () {
|
|
329
|
-
var
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
state: 'edited'
|
|
334
|
-
});
|
|
335
|
-
component.update();
|
|
336
|
-
expect(component.find('.actions').text()).toBe('(edited)');
|
|
344
|
+
var rerender = setUp().rerender;
|
|
345
|
+
expect(react_2.screen.queryByText('(edited)')).not.toBeInTheDocument();
|
|
346
|
+
rerender({ props: { state: 'edited' } });
|
|
347
|
+
react_2.screen.getByText('(edited)');
|
|
337
348
|
});
|
|
338
349
|
describe('useScrollToAttributeError tests', function () {
|
|
339
350
|
var fullError = {
|
|
340
351
|
type: 'invalid',
|
|
341
352
|
attributeTypeUri: defaultProps.attributeType.uri,
|
|
342
|
-
parentUri:
|
|
353
|
+
parentUri: null,
|
|
354
|
+
name: '',
|
|
343
355
|
uri: defaultProps.attributeValue.uri,
|
|
344
356
|
source: 'validationService',
|
|
345
357
|
severity: 'ERROR'
|
|
346
358
|
};
|
|
347
359
|
it('should not highlight error if it have wrong uri', function () {
|
|
348
|
-
var
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
360
|
+
var error = __assign(__assign({}, fullError), { uri: 'different' });
|
|
361
|
+
var scrollToElementContextValue = __assign(__assign({}, defaultScrollToElementContextValue), { element: error });
|
|
362
|
+
setUp({ scrollToElementContextValue: scrollToElementContextValue });
|
|
363
|
+
expect(react_2.screen.getByTestId('reltio-edit-mode-complex-attribute')).not.toHaveClass('highlightError');
|
|
364
|
+
expect(scrollToElementContextValue.scrollIntoRef).not.toHaveBeenCalled();
|
|
353
365
|
});
|
|
354
366
|
it('should highlight error if it have same parent uri, uri, and attribute type uri', function () {
|
|
355
|
-
var
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
scrollIntoRef: scrollIntoRefSpy,
|
|
360
|
-
type: ScrollToElementContext_1.ScrollType.Error
|
|
361
|
-
};
|
|
362
|
-
expect(component.find('EditModeComplexAttribute').prop('highlightedError')).toMatchObject(highlightedError);
|
|
363
|
-
expect(useScrollToAttributeError_1.useScrollToAttributeError.mock.calls[0][0]).toMatchObject({ highlightedError: highlightedError });
|
|
367
|
+
var scrollToElementContextValue = __assign(__assign({}, defaultScrollToElementContextValue), { element: fullError });
|
|
368
|
+
setUp({ scrollToElementContextValue: scrollToElementContextValue });
|
|
369
|
+
expect(react_2.screen.getByTestId('reltio-edit-mode-complex-attribute')).toHaveClass('highlightError');
|
|
370
|
+
expect(scrollToElementContextValue.scrollIntoRef).toHaveBeenCalled();
|
|
364
371
|
});
|
|
365
372
|
it('should pass isHighlightedPath=false prop if path is not contains uri', function () {
|
|
366
|
-
var
|
|
367
|
-
expect(
|
|
373
|
+
var rerender = setUp().rerender;
|
|
374
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
375
|
+
var error = __assign(__assign({}, fullError), { path: [] });
|
|
376
|
+
var scrollToElementContextValue = __assign(__assign({}, defaultScrollToElementContextValue), { element: error });
|
|
377
|
+
rerender({ scrollToElementContextValue: scrollToElementContextValue });
|
|
378
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
368
379
|
});
|
|
369
380
|
it('should pass isHighlightedPath=true prop if path is contains uri', function () {
|
|
370
|
-
var
|
|
371
|
-
expect(
|
|
381
|
+
var rerender = setUp().rerender;
|
|
382
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(1);
|
|
383
|
+
var error = __assign(__assign({}, fullError), { path: [{ value: defaultProps.attributeValue }] });
|
|
384
|
+
var scrollToElementContextValue = __assign(__assign({}, defaultScrollToElementContextValue), { element: error });
|
|
385
|
+
rerender({ scrollToElementContextValue: scrollToElementContextValue });
|
|
386
|
+
expect(react_2.screen.getAllByTestId('reltio-edit-mode-complex-attribute')).toHaveLength(2);
|
|
372
387
|
});
|
|
373
388
|
});
|
|
374
389
|
});
|