@reltio/components 1.4.1906 → 1.4.1908
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/cjs/ActionsPanel/ActionsPanel.test.js +133 -49
- package/cjs/AttributeListItem/AttributeListItem.spec.js +147 -118
- package/cjs/AttributeSelector/AttributeSelector.specs.js +125 -193
- package/cjs/AttributesErrorsPanel/AttributesErrorsPanel.specs.js +128 -71
- package/cjs/AttributesErrorsPanel/components/Error/Error.specs.js +96 -90
- package/cjs/AttributesErrorsPanel/store.test-data.d.ts +22 -0
- package/cjs/AttributesErrorsPanel/store.test-data.js +29 -0
- package/cjs/AttributesFilterSelector/AttributesFilterSelector.test.js +127 -105
- package/cjs/AttributesFiltersButton/AttributesFiltersButton.test.js +218 -136
- package/cjs/AttributesValuesEditor/AttributesValuesEditor.test.js +92 -88
- package/cjs/AttributesView/AttributesView.test.js +67 -34
- package/cjs/AutoSizeList/AutoSizeList.test.js +81 -59
- package/cjs/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.js → AvatarWithFallback/AvatarWithFallback.test.js} +15 -31
- package/cjs/BarChart/BarChart.test.js +128 -65
- package/cjs/BasicAttributeSelector/BasicAttributeSelector.spec.js +27 -10
- package/cjs/BasicViewContent/BasicViewContent.test.js +7 -9
- package/cjs/BlobRenderer/BlobRenderer.test.js +28 -9
- package/cjs/BooleanRadioEditor/BooleanRadioEditor.test.js +89 -35
- package/cjs/BubbleChart/BubbleChart.test.js +111 -87
- package/cjs/CloudChart/CloudChart.test.js +95 -36
- package/cjs/CollaborationItem/CollaborationItem.test.js +67 -30
- package/cjs/CollaborationItem/components/Comment/Comment.test.js +221 -189
- package/cjs/CollaborationItem/components/CommentContent/CommentContent.test.js +46 -81
- package/cjs/CollaborationItem/components/RepliedComment/RepliedComment.test.js +194 -163
- package/cjs/CollaborationItem/components/SendMessageArea/SendMessageArea.test.js +307 -266
- package/cjs/CollapseButton/CollapseButton.test.js +74 -15
- package/cjs/CollapseRowButton/CollapseRowButton.test.js +82 -24
- package/cjs/ColorBar/ColorBar.test.js +13 -15
- package/cjs/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.spec.js +207 -129
- package/cjs/CommentsContainer/CommentsContainer.test.js +282 -211
- package/cjs/CommentsContainer/components/CollaborationPopup/CollaborationPopup.test.js +183 -122
- package/cjs/ConfigureColumnsPopup/ConfigureColumnsPopup.test.js +42 -41
- package/cjs/ConfirmDeleteDialog/ConfirmDeleteDialog.test.js +77 -28
- package/cjs/ConfirmationDialog/ConfirmationDialog.test.js +85 -48
- package/cjs/ConnectionEditor/ConnectionEditor.test.js +299 -282
- package/cjs/contexts/MdmModuleContext/context.d.ts +3 -1
- package/cjs/contexts/MdmModuleContext/hooks.d.ts +2 -1
- package/esm/ActionsPanel/ActionsPanel.test.js +133 -49
- package/esm/AttributeListItem/AttributeListItem.spec.js +149 -97
- package/esm/AttributeSelector/AttributeSelector.specs.js +125 -193
- package/esm/AttributesErrorsPanel/AttributesErrorsPanel.specs.js +128 -71
- package/esm/AttributesErrorsPanel/components/Error/Error.specs.js +98 -72
- package/esm/AttributesErrorsPanel/store.test-data.d.ts +22 -0
- package/esm/AttributesErrorsPanel/store.test-data.js +26 -0
- package/esm/AttributesFilterSelector/AttributesFilterSelector.test.js +129 -84
- package/esm/AttributesFiltersButton/AttributesFiltersButton.test.js +218 -136
- package/esm/AttributesValuesEditor/AttributesValuesEditor.test.js +94 -67
- package/esm/AttributesView/AttributesView.test.js +67 -34
- package/esm/AutoSizeList/AutoSizeList.test.js +81 -59
- package/esm/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.js → AvatarWithFallback/AvatarWithFallback.test.js} +16 -32
- package/esm/BarChart/BarChart.test.js +128 -65
- package/esm/BasicAttributeSelector/BasicAttributeSelector.spec.js +27 -10
- package/esm/BasicViewContent/BasicViewContent.test.js +7 -9
- package/esm/BlobRenderer/BlobRenderer.test.js +28 -9
- package/esm/BooleanRadioEditor/BooleanRadioEditor.test.js +89 -35
- package/esm/BubbleChart/BubbleChart.test.js +111 -87
- package/esm/CloudChart/CloudChart.test.js +95 -36
- package/esm/CollaborationItem/CollaborationItem.test.js +67 -30
- package/esm/CollaborationItem/components/Comment/Comment.test.js +221 -189
- package/esm/CollaborationItem/components/CommentContent/CommentContent.test.js +46 -58
- package/esm/CollaborationItem/components/RepliedComment/RepliedComment.test.js +194 -163
- package/esm/CollaborationItem/components/SendMessageArea/SendMessageArea.test.js +307 -266
- package/esm/CollapseButton/CollapseButton.test.js +74 -15
- package/esm/CollapseRowButton/CollapseRowButton.test.js +82 -24
- package/esm/ColorBar/ColorBar.test.js +13 -15
- package/esm/ColumnsSettings/components/ColumnsSettingsPopup/ColumnsSettingsPopup.spec.js +207 -129
- package/esm/CommentsContainer/CommentsContainer.test.js +282 -211
- package/esm/CommentsContainer/components/CollaborationPopup/CollaborationPopup.test.js +182 -101
- package/esm/ConfigureColumnsPopup/ConfigureColumnsPopup.test.js +42 -41
- package/esm/ConfirmDeleteDialog/ConfirmDeleteDialog.test.js +77 -28
- package/esm/ConfirmationDialog/ConfirmationDialog.test.js +85 -48
- package/esm/ConnectionEditor/ConnectionEditor.test.js +300 -283
- package/esm/contexts/MdmModuleContext/context.d.ts +3 -1
- package/esm/contexts/MdmModuleContext/hooks.d.ts +2 -1
- package/package.json +2 -2
- package/cjs/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.js +0 -100
- package/cjs/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.d.ts +0 -1
- package/cjs/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.js +0 -46
- package/cjs/AvatarWithFallback/AvatarWithFallback.specs.d.ts +0 -1
- package/cjs/AvatarWithFallback/AvatarWithFallback.specs.js +0 -27
- package/cjs/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.d.ts +0 -1
- package/cjs/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.js +0 -27
- package/cjs/CollaborationItem/components/Avatar/Avatar.test.d.ts +0 -1
- package/cjs/CollaborationItem/components/Avatar/Avatar.test.js +0 -15
- package/cjs/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.d.ts +0 -1
- package/cjs/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.js +0 -80
- package/esm/ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.d.ts +0 -1
- package/esm/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.d.ts +0 -1
- package/esm/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.js +0 -95
- package/esm/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.d.ts +0 -1
- package/esm/AttributesFiltersButton/components/ActionButtons/ActionButtons.test.js +0 -41
- package/esm/AvatarWithFallback/AvatarWithFallback.specs.d.ts +0 -1
- package/esm/AvatarWithFallback/AvatarWithFallback.specs.js +0 -22
- package/esm/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.d.ts +0 -1
- package/esm/BooleanRadioEditor/components/BooleanEditor/BooleanEditor.test.js +0 -22
- package/esm/CollaborationItem/components/Avatar/Avatar.test.d.ts +0 -1
- package/esm/CollaborationItem/components/Avatar/Avatar.test.js +0 -10
- package/esm/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.d.ts +0 -1
- package/esm/CollaborationItem/components/TextFieldWithMentions/TextFieldWithMentions.test.js +0 -55
- /package/cjs/{ActionsPanel/components/MenuItemRenderer/MenuItemRenderer.spec.d.ts → AvatarWithFallback/AvatarWithFallback.test.d.ts} +0 -0
- /package/{cjs/AttributesErrorsPanel/components/ErrorsPanel/ErrorsPanel.specs.d.ts → esm/AvatarWithFallback/AvatarWithFallback.test.d.ts} +0 -0
|
@@ -10,67 +10,67 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "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 };
|
|
18
47
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
48
|
+
};
|
|
49
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
35
51
|
};
|
|
36
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
-
var react_1 =
|
|
38
|
-
var enzyme_1 = require("enzyme");
|
|
53
|
+
var react_1 = __importDefault(require("react"));
|
|
39
54
|
var react_2 = require("@testing-library/react");
|
|
40
|
-
var SmallIconButton_1 = require("../../../SmallIconButton");
|
|
41
55
|
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
42
56
|
var Error_1 = require("../Error");
|
|
43
57
|
var MdmModuleContext_1 = require("../../../contexts/MdmModuleContext");
|
|
44
|
-
|
|
45
|
-
|
|
58
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
59
|
+
var store_test_data_1 = require("../../store.test-data");
|
|
60
|
+
var ScrollToElementContext_1 = require("../../../contexts/ScrollToElementContext");
|
|
46
61
|
describe('Error tests', function () {
|
|
47
|
-
var attributeType =
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
attributes: [attributeType]
|
|
59
|
-
}
|
|
60
|
-
]
|
|
62
|
+
var attributeType = store_test_data_1.store.metadata.entityTypes[0].attributes[0];
|
|
63
|
+
var setUp = function (props, store) {
|
|
64
|
+
if (store === void 0) { store = store_test_data_1.store; }
|
|
65
|
+
var highlightError = jest.fn();
|
|
66
|
+
var Providers = function (_a) {
|
|
67
|
+
var children = _a.children;
|
|
68
|
+
return (react_1.default.createElement(MdmModuleContext_1.MdmModuleProvider, { values: store },
|
|
69
|
+
react_1.default.createElement(ScrollToElementContext_1.ScrollToElementContext.Provider, { value: { highlightError: highlightError, element: null, type: null, scrollIntoRef: null } }, children)));
|
|
70
|
+
};
|
|
71
|
+
var user = user_event_1.default.setup();
|
|
72
|
+
return __assign({ user: user, highlightError: highlightError }, (0, react_2.render)(react_1.default.createElement(Error_1.Error, __assign({}, props)), { wrapper: Providers }));
|
|
61
73
|
};
|
|
62
|
-
beforeAll(function () {
|
|
63
|
-
MdmModuleContext_1.useMdmMetadata.mockReturnValue(metadata);
|
|
64
|
-
});
|
|
65
|
-
var highlightErrorSpy = jest.fn();
|
|
66
|
-
beforeAll(function () {
|
|
67
|
-
jest.spyOn(react, 'useContext').mockReturnValue({
|
|
68
|
-
highlightError: highlightErrorSpy
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
afterEach(function () {
|
|
72
|
-
jest.clearAllMocks();
|
|
73
|
-
});
|
|
74
74
|
it('should render error message for validation service errors', function () {
|
|
75
75
|
var error = {
|
|
76
76
|
type: mdm_sdk_1.ErrorType.missed,
|
|
@@ -83,9 +83,9 @@ describe('Error tests', function () {
|
|
|
83
83
|
source: mdm_sdk_1.ErrorSource.validationService,
|
|
84
84
|
path: []
|
|
85
85
|
};
|
|
86
|
-
|
|
87
|
-
expect(
|
|
88
|
-
expect(
|
|
86
|
+
setUp({ error: error });
|
|
87
|
+
expect(react_2.screen.getByText(error.message)).toBeInTheDocument();
|
|
88
|
+
expect(react_2.screen.queryByTestId('SvgHyperlink')).not.toBeInTheDocument();
|
|
89
89
|
});
|
|
90
90
|
it('should render error message for local errors', function () {
|
|
91
91
|
var error = {
|
|
@@ -99,9 +99,8 @@ describe('Error tests', function () {
|
|
|
99
99
|
source: mdm_sdk_1.ErrorSource.local,
|
|
100
100
|
path: []
|
|
101
101
|
};
|
|
102
|
-
|
|
103
|
-
expect(
|
|
104
|
-
expect(component.find(SmallIconButton_1.SmallIconButtonWithTooltip)).toHaveLength(0);
|
|
102
|
+
setUp({ error: error });
|
|
103
|
+
expect(react_2.screen.getByText(error.message)).toBeInTheDocument();
|
|
105
104
|
});
|
|
106
105
|
it('should render special message with attribute type label for local missed errors', function () {
|
|
107
106
|
var error = {
|
|
@@ -114,8 +113,8 @@ describe('Error tests', function () {
|
|
|
114
113
|
source: mdm_sdk_1.ErrorSource.local,
|
|
115
114
|
path: []
|
|
116
115
|
};
|
|
117
|
-
|
|
118
|
-
expect(
|
|
116
|
+
setUp({ error: error });
|
|
117
|
+
expect(react_2.screen.getByText("".concat(attributeType.label, " is required"))).toBeInTheDocument();
|
|
119
118
|
});
|
|
120
119
|
it('should render special message with attribute type label for local missed errors even if attributeType is not defined', function () {
|
|
121
120
|
var error = {
|
|
@@ -128,8 +127,8 @@ describe('Error tests', function () {
|
|
|
128
127
|
source: mdm_sdk_1.ErrorSource.local,
|
|
129
128
|
path: []
|
|
130
129
|
};
|
|
131
|
-
|
|
132
|
-
expect(
|
|
130
|
+
setUp({ error: error });
|
|
131
|
+
expect(react_2.screen.getByText("".concat(attributeType.label, " is required"))).toBeInTheDocument();
|
|
133
132
|
});
|
|
134
133
|
it('should render parents path for missed errors if error.path is defined', function () {
|
|
135
134
|
var error = {
|
|
@@ -164,8 +163,9 @@ describe('Error tests', function () {
|
|
|
164
163
|
}
|
|
165
164
|
]
|
|
166
165
|
};
|
|
167
|
-
|
|
168
|
-
expect(
|
|
166
|
+
setUp({ error: error });
|
|
167
|
+
expect(react_2.screen.getByText('Error 1_')).toBeInTheDocument();
|
|
168
|
+
expect(react_2.screen.getByText('Connection 1 / Reference 1 / Name1')).toBeInTheDocument();
|
|
169
169
|
});
|
|
170
170
|
it('should render attribute types path for errors if error.path is defined', function () {
|
|
171
171
|
var error = {
|
|
@@ -205,8 +205,10 @@ describe('Error tests', function () {
|
|
|
205
205
|
}
|
|
206
206
|
]
|
|
207
207
|
};
|
|
208
|
-
|
|
209
|
-
expect(
|
|
208
|
+
setUp({ error: error });
|
|
209
|
+
expect(react_2.screen.getByText('ReferenceType1 > Name Type 1__'));
|
|
210
|
+
expect(react_2.screen.getByText('Error 1_')).toBeInTheDocument();
|
|
211
|
+
expect(react_2.screen.getByText('Connection 1 / Reference 1 / Name1')).toBeInTheDocument();
|
|
210
212
|
});
|
|
211
213
|
it('should render parents path for invalid errors if error.path is defined', function () {
|
|
212
214
|
var error = {
|
|
@@ -241,30 +243,34 @@ describe('Error tests', function () {
|
|
|
241
243
|
}
|
|
242
244
|
]
|
|
243
245
|
};
|
|
244
|
-
|
|
245
|
-
expect(
|
|
246
|
+
setUp({ error: error });
|
|
247
|
+
expect(react_2.screen.getByText('Error 1_')).toBeInTheDocument();
|
|
248
|
+
expect(react_2.screen.getByText('Connection 1 / Reference 1')).toBeInTheDocument();
|
|
246
249
|
});
|
|
247
|
-
it('should render button when editing mode and correct error', function () {
|
|
248
|
-
var error
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
250
|
+
it('should render button when editing mode and correct error', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
251
|
+
var error, _a, user, highlightError;
|
|
252
|
+
return __generator(this, function (_b) {
|
|
253
|
+
switch (_b.label) {
|
|
254
|
+
case 0:
|
|
255
|
+
error = {
|
|
256
|
+
type: mdm_sdk_1.ErrorType.invalid,
|
|
257
|
+
uri: 'some uri',
|
|
258
|
+
attributeType: attributeType,
|
|
259
|
+
attributeTypeUri: 'configuration/entityTypes/HCP/attributes/Name',
|
|
260
|
+
parentUri: 'entities/uri$$123',
|
|
261
|
+
message: 'Error 1_',
|
|
262
|
+
severity: mdm_sdk_1.ErrorSeverity.ERROR,
|
|
263
|
+
source: mdm_sdk_1.ErrorSource.validationService,
|
|
264
|
+
path: []
|
|
265
|
+
};
|
|
266
|
+
_a = setUp({ error: error }, __assign(__assign({}, store_test_data_1.store), { mode: mdm_sdk_1.Mode.Editing })), user = _a.user, highlightError = _a.highlightError;
|
|
267
|
+
expect(react_2.screen.getByText('Error 1_')).toBeInTheDocument();
|
|
268
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Go to error'))];
|
|
269
|
+
case 1:
|
|
270
|
+
_b.sent();
|
|
271
|
+
expect(highlightError).toBeCalledWith(error);
|
|
272
|
+
return [2 /*return*/];
|
|
273
|
+
}
|
|
267
274
|
});
|
|
268
|
-
|
|
269
|
-
});
|
|
275
|
+
}); });
|
|
270
276
|
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Mode } from '@reltio/mdm-sdk';
|
|
2
|
+
export declare const store: {
|
|
3
|
+
metadata: {
|
|
4
|
+
entityTypes: {
|
|
5
|
+
uri: string;
|
|
6
|
+
attributes: ({
|
|
7
|
+
uri: string;
|
|
8
|
+
name: string;
|
|
9
|
+
label: string;
|
|
10
|
+
type: string;
|
|
11
|
+
required: boolean;
|
|
12
|
+
} | {
|
|
13
|
+
uri: string;
|
|
14
|
+
type: string;
|
|
15
|
+
label: string;
|
|
16
|
+
name: string;
|
|
17
|
+
required?: undefined;
|
|
18
|
+
})[];
|
|
19
|
+
}[];
|
|
20
|
+
};
|
|
21
|
+
mode: Mode;
|
|
22
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.store = void 0;
|
|
4
|
+
var mdm_sdk_1 = require("@reltio/mdm-sdk");
|
|
5
|
+
exports.store = {
|
|
6
|
+
metadata: {
|
|
7
|
+
entityTypes: [
|
|
8
|
+
{
|
|
9
|
+
uri: 'configuration/entityTypes/HCP',
|
|
10
|
+
attributes: [
|
|
11
|
+
{
|
|
12
|
+
uri: 'configuration/entityTypes/HCP/attributes/Name',
|
|
13
|
+
name: 'Name',
|
|
14
|
+
label: 'Name Label',
|
|
15
|
+
type: 'String',
|
|
16
|
+
required: true
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
uri: 'configuration/entityTypes/HCP/attributes/RDMLookup',
|
|
20
|
+
type: 'Reference',
|
|
21
|
+
label: 'RDMLookup Label',
|
|
22
|
+
name: 'RDMLookup'
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
]
|
|
27
|
+
},
|
|
28
|
+
mode: mdm_sdk_1.Mode.Viewing
|
|
29
|
+
};
|
|
@@ -10,132 +10,154 @@ var __assign = (this && this.__assign) || function () {
|
|
|
10
10
|
};
|
|
11
11
|
return __assign.apply(this, arguments);
|
|
12
12
|
};
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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;
|
|
24
|
+
return g = { next: verb(0), "throw": verb(1), "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 };
|
|
18
47
|
}
|
|
19
|
-
Object.defineProperty(o, k2, desc);
|
|
20
|
-
}) : (function(o, m, k, k2) {
|
|
21
|
-
if (k2 === undefined) k2 = k;
|
|
22
|
-
o[k2] = m[k];
|
|
23
|
-
}));
|
|
24
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
25
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
26
|
-
}) : function(o, v) {
|
|
27
|
-
o["default"] = v;
|
|
28
|
-
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
30
|
-
if (mod && mod.__esModule) return mod;
|
|
31
|
-
var result = {};
|
|
32
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
33
|
-
__setModuleDefault(result, mod);
|
|
34
|
-
return result;
|
|
35
48
|
};
|
|
36
49
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
51
|
};
|
|
39
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
53
|
var react_1 = __importDefault(require("react"));
|
|
41
|
-
var enzyme_1 = require("enzyme");
|
|
42
|
-
var ui_i18n_1 = __importDefault(require("ui-i18n"));
|
|
43
|
-
var mdmSdk = __importStar(require("@reltio/mdm-sdk"));
|
|
44
54
|
var AttributesFilterSelector_1 = __importDefault(require("./AttributesFilterSelector"));
|
|
45
|
-
var
|
|
46
|
-
|
|
47
|
-
var defaultProps = {
|
|
48
|
-
rowData: {
|
|
49
|
-
attribute: {
|
|
50
|
-
attrType: {},
|
|
51
|
-
entityTypeUri: '',
|
|
52
|
-
fieldName: 'attribute',
|
|
53
|
-
groupName: '',
|
|
54
|
-
title: '',
|
|
55
|
-
uri: ''
|
|
56
|
-
},
|
|
57
|
-
filter: 'equals',
|
|
58
|
-
id: 0,
|
|
59
|
-
values: []
|
|
60
|
-
},
|
|
61
|
-
rowContext: {
|
|
62
|
-
attributesGroup: [],
|
|
63
|
-
addNewFilter: jest.fn(),
|
|
64
|
-
addRowAfterIndex: jest.fn(),
|
|
65
|
-
changeFilter: jest.fn(),
|
|
66
|
-
duplicateRow: jest.fn(),
|
|
67
|
-
removeRow: jest.fn(),
|
|
68
|
-
entityType: {
|
|
69
|
-
uri: 'configuration/entityTypes/HCA',
|
|
70
|
-
label: 'HCA',
|
|
71
|
-
attributes: []
|
|
72
|
-
},
|
|
73
|
-
attributeSelectorItemsGroups: []
|
|
74
|
-
},
|
|
75
|
-
textFieldInputRef: { current: null }
|
|
76
|
-
};
|
|
77
|
-
var value = {
|
|
78
|
-
value: 'equals',
|
|
79
|
-
label: 'Equals'
|
|
80
|
-
};
|
|
81
|
-
var filterOptions = [value];
|
|
82
|
-
var setUp = function (props) {
|
|
83
|
-
if (props === void 0) { props = defaultProps; }
|
|
84
|
-
return (0, enzyme_1.shallow)(react_1.default.createElement(AttributesFilterSelector_1.default, __assign({}, props)));
|
|
85
|
-
};
|
|
55
|
+
var react_2 = require("@testing-library/react");
|
|
56
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
86
57
|
describe('AttributesFilterSelector tests', function () {
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
var component = setUp();
|
|
90
|
-
expect(component.find(SimpleDropDownSelector_1.SimpleDropDownSelector)).toHaveLength(1);
|
|
91
|
-
expect(component.find(SimpleDropDownSelector_1.SimpleDropDownSelector).props()).toMatchObject({
|
|
92
|
-
isDisabled: false,
|
|
93
|
-
placeholder: ui_i18n_1.default.text('Equals'),
|
|
94
|
-
value: value,
|
|
95
|
-
options: filterOptions,
|
|
96
|
-
onChange: expect.any(Function),
|
|
97
|
-
textFieldInputRef: defaultProps.textFieldInputRef
|
|
98
|
-
});
|
|
99
|
-
});
|
|
100
|
-
it('should call changeFilter prop after filter changing', function () {
|
|
101
|
-
var rowContext = defaultProps.rowContext, rowData = defaultProps.rowData;
|
|
102
|
-
var newFilterOption = { value: 'exists', label: 'Exists' };
|
|
103
|
-
var newFilter = {
|
|
104
|
-
fieldName: rowData.attribute.fieldName,
|
|
105
|
-
filter: newFilterOption.value,
|
|
106
|
-
values: []
|
|
107
|
-
};
|
|
108
|
-
var component = setUp();
|
|
109
|
-
component.find(SimpleDropDownSelector_1.SimpleDropDownSelector).prop('onChange')(newFilterOption);
|
|
110
|
-
expect(rowContext.changeFilter).toBeCalledWith(newFilter, rowData.id);
|
|
111
|
-
});
|
|
112
|
-
it('should call changeFilter prop if there is fieldName in filter and there is no filter', function () {
|
|
113
|
-
var rowData = {
|
|
58
|
+
var defaultProps = {
|
|
59
|
+
rowData: {
|
|
114
60
|
attribute: {
|
|
115
|
-
attrType: {
|
|
61
|
+
attrType: {
|
|
62
|
+
name: 'attribute1',
|
|
63
|
+
uri: 'etityTypes/uri1',
|
|
64
|
+
type: 'string'
|
|
65
|
+
},
|
|
116
66
|
entityTypeUri: '',
|
|
117
67
|
fieldName: 'attribute',
|
|
118
68
|
groupName: '',
|
|
119
69
|
title: '',
|
|
120
70
|
uri: ''
|
|
121
71
|
},
|
|
122
|
-
filter:
|
|
72
|
+
filter: 'equals',
|
|
123
73
|
id: 0,
|
|
124
74
|
values: []
|
|
125
|
-
}
|
|
126
|
-
|
|
75
|
+
},
|
|
76
|
+
rowContext: {
|
|
77
|
+
attributesGroup: [],
|
|
78
|
+
addNewFilter: jest.fn(),
|
|
79
|
+
addRowAfterIndex: jest.fn(),
|
|
80
|
+
changeFilter: jest.fn(),
|
|
81
|
+
duplicateRow: jest.fn(),
|
|
82
|
+
removeRow: jest.fn(),
|
|
83
|
+
entityType: {
|
|
84
|
+
uri: 'configuration/entityTypes/HCA',
|
|
85
|
+
label: 'HCA',
|
|
86
|
+
attributes: []
|
|
87
|
+
},
|
|
88
|
+
attributeSelectorItemsGroups: []
|
|
89
|
+
},
|
|
90
|
+
textFieldInputRef: { current: null }
|
|
91
|
+
};
|
|
92
|
+
var value = {
|
|
93
|
+
value: 'equals',
|
|
94
|
+
label: 'Equals'
|
|
95
|
+
};
|
|
96
|
+
var filterOptions = [value];
|
|
97
|
+
var setUp = function (props) {
|
|
98
|
+
if (props === void 0) { props = defaultProps; }
|
|
99
|
+
var user = user_event_1.default.setup();
|
|
100
|
+
return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(AttributesFilterSelector_1.default, __assign({}, props))));
|
|
101
|
+
};
|
|
102
|
+
it('should use filters for attribute', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
103
|
+
var user, menuItems;
|
|
104
|
+
return __generator(this, function (_a) {
|
|
105
|
+
switch (_a.label) {
|
|
106
|
+
case 0:
|
|
107
|
+
user = setUp().user;
|
|
108
|
+
expect(react_2.screen.getByText('Equals')).toBeInTheDocument();
|
|
109
|
+
return [4 /*yield*/, user.click(react_2.screen.getByTestId('filter-selector'))];
|
|
110
|
+
case 1:
|
|
111
|
+
_a.sent();
|
|
112
|
+
menuItems = react_2.screen.getAllByRole('menuitem');
|
|
113
|
+
expect(menuItems.map(function (item) { return item.textContent; })).toEqual(['Equals', 'Not', 'Exists', 'Missing value']);
|
|
114
|
+
return [2 /*return*/];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}); });
|
|
118
|
+
it('should call changeFilter prop after filter changing', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
119
|
+
var changeFilterSpy, user;
|
|
120
|
+
return __generator(this, function (_a) {
|
|
121
|
+
switch (_a.label) {
|
|
122
|
+
case 0:
|
|
123
|
+
changeFilterSpy = jest.fn();
|
|
124
|
+
user = setUp(__assign(__assign({}, defaultProps), { rowContext: __assign(__assign({}, defaultProps.rowContext), { changeFilter: changeFilterSpy }) })).user;
|
|
125
|
+
return [4 /*yield*/, user.click(react_2.screen.getByTestId('filter-selector'))];
|
|
126
|
+
case 1:
|
|
127
|
+
_a.sent();
|
|
128
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Exists'))];
|
|
129
|
+
case 2:
|
|
130
|
+
_a.sent();
|
|
131
|
+
expect(changeFilterSpy).toHaveBeenCalledWith({ fieldName: 'attribute', filter: 'exists', operator: undefined, values: [] }, defaultProps.rowData.id);
|
|
132
|
+
return [2 /*return*/];
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
}); });
|
|
136
|
+
it('should call changeFilter prop if there is fieldName in filter and there is no filter', function () {
|
|
137
|
+
var changeFilterSpy = jest.fn();
|
|
138
|
+
var props = __assign(__assign({}, defaultProps), { rowContext: __assign(__assign({}, defaultProps.rowContext), { changeFilter: changeFilterSpy }), rowData: __assign(__assign({}, defaultProps.rowData), { filter: null }) });
|
|
127
139
|
var newFilter = {
|
|
128
|
-
fieldName: rowData.attribute.fieldName,
|
|
140
|
+
fieldName: props.rowData.attribute.fieldName,
|
|
129
141
|
filter: filterOptions[0].value,
|
|
130
142
|
values: []
|
|
131
143
|
};
|
|
132
|
-
(
|
|
133
|
-
expect(
|
|
134
|
-
});
|
|
135
|
-
it('should pass options from props', function () {
|
|
136
|
-
var options = [{ value: 'not equals', label: 'Not Equals' }];
|
|
137
|
-
var props = __assign(__assign({}, defaultProps), { options: options });
|
|
138
|
-
var component = setUp(props);
|
|
139
|
-
expect(component.find(SimpleDropDownSelector_1.SimpleDropDownSelector).prop('options')).toEqual(options);
|
|
144
|
+
setUp(props);
|
|
145
|
+
expect(changeFilterSpy).toHaveBeenCalledWith(newFilter, props.rowData.id);
|
|
140
146
|
});
|
|
147
|
+
it('should pass options from props', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
148
|
+
var options, user, menuItems;
|
|
149
|
+
return __generator(this, function (_a) {
|
|
150
|
+
switch (_a.label) {
|
|
151
|
+
case 0:
|
|
152
|
+
options = [{ value: 'in', label: 'In' }];
|
|
153
|
+
user = setUp(__assign(__assign({}, defaultProps), { options: options })).user;
|
|
154
|
+
return [4 /*yield*/, user.click(react_2.screen.getByTestId('filter-selector'))];
|
|
155
|
+
case 1:
|
|
156
|
+
_a.sent();
|
|
157
|
+
menuItems = react_2.screen.getAllByRole('menuitem');
|
|
158
|
+
expect(menuItems.map(function (item) { return item.textContent; })).toEqual(['In']);
|
|
159
|
+
return [2 /*return*/];
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
}); });
|
|
141
163
|
});
|