@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,76 +10,160 @@ 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;
|
|
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 };
|
|
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 ramda_1 = require("ramda");
|
|
19
|
-
var enzyme_1 = require("enzyme");
|
|
20
54
|
var ActionsPanel_1 = require("./ActionsPanel");
|
|
21
|
-
var
|
|
55
|
+
var react_2 = require("@testing-library/react");
|
|
56
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
22
57
|
describe('ActionsPanel tests', function () {
|
|
23
|
-
var MergeButton = function () {
|
|
58
|
+
var MergeButton = function (_a) {
|
|
59
|
+
var mode = _a.mode, onMenuClose = _a.onMenuClose;
|
|
60
|
+
return (react_1.default.createElement("button", { "data-reltio-id": "testButton", "data-mode": mode, onClick: onMenuClose }));
|
|
61
|
+
};
|
|
24
62
|
var actions = [
|
|
25
|
-
{ ActionButton: MergeButton,
|
|
26
|
-
{ ActionButton: MergeButton
|
|
27
|
-
{ ActionButton: MergeButton
|
|
28
|
-
{ ActionButton: MergeButton,
|
|
63
|
+
{ ActionButton: MergeButton, show: true },
|
|
64
|
+
{ ActionButton: MergeButton },
|
|
65
|
+
{ ActionButton: MergeButton },
|
|
66
|
+
{ ActionButton: MergeButton, show: false }
|
|
29
67
|
];
|
|
68
|
+
var setUp = function (props) {
|
|
69
|
+
if (props === void 0) { props = { actions: actions }; }
|
|
70
|
+
var user = user_event_1.default.setup();
|
|
71
|
+
return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(ActionsPanel_1.ActionsPanel, __assign({}, props))));
|
|
72
|
+
};
|
|
30
73
|
it('should render main parts', function () {
|
|
31
|
-
|
|
32
|
-
expect(
|
|
33
|
-
expect(
|
|
74
|
+
setUp();
|
|
75
|
+
expect(react_2.screen.getAllByTestId('testButton')).toHaveLength(2);
|
|
76
|
+
expect(react_2.screen.getByLabelText('More actions')).toBeInTheDocument();
|
|
34
77
|
});
|
|
35
78
|
it('should render empty panel if actions is empty array', function () {
|
|
36
|
-
|
|
37
|
-
expect(
|
|
38
|
-
expect(
|
|
79
|
+
setUp({ actions: [] });
|
|
80
|
+
expect(react_2.screen.queryByTestId('testButton')).not.toBeInTheDocument();
|
|
81
|
+
expect(react_2.screen.queryByLabelText('More actions')).not.toBeInTheDocument();
|
|
39
82
|
});
|
|
40
83
|
it('should not render DropDownMenuButton if length of actions <= numberOfButtons', function () {
|
|
41
|
-
|
|
42
|
-
expect(
|
|
43
|
-
expect(
|
|
84
|
+
setUp({ actions: actions, numberOfButtons: actions.length });
|
|
85
|
+
expect(react_2.screen.getAllByTestId('testButton')).toHaveLength(3);
|
|
86
|
+
expect(react_2.screen.queryByLabelText('More actions')).not.toBeInTheDocument();
|
|
44
87
|
});
|
|
45
88
|
it('should render numberOfButtons action button from actions', function () {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
expect(
|
|
49
|
-
expect(component.find(DropDownMenuButton_1.DropDownMenuButton)).toHaveLength(1);
|
|
89
|
+
setUp({ actions: actions, numberOfButtons: 1 });
|
|
90
|
+
expect(react_2.screen.queryByTestId('testButton')).toBeInTheDocument();
|
|
91
|
+
expect(react_2.screen.queryByLabelText('More actions')).toBeInTheDocument();
|
|
50
92
|
});
|
|
51
|
-
it('should
|
|
52
|
-
var
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
93
|
+
it('should call onActionsMenuOpen, onActionsMenuClose ', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
94
|
+
var onActionsMenuOpenSpy, onActionsMenuCloseSpy, user;
|
|
95
|
+
return __generator(this, function (_a) {
|
|
96
|
+
switch (_a.label) {
|
|
97
|
+
case 0:
|
|
98
|
+
onActionsMenuOpenSpy = jest.fn();
|
|
99
|
+
onActionsMenuCloseSpy = jest.fn();
|
|
100
|
+
user = setUp({
|
|
101
|
+
actions: actions,
|
|
102
|
+
onActionsMenuClose: onActionsMenuCloseSpy,
|
|
103
|
+
onActionsMenuOpen: onActionsMenuOpenSpy
|
|
104
|
+
}).user;
|
|
105
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('More actions'))];
|
|
106
|
+
case 1:
|
|
107
|
+
_a.sent();
|
|
108
|
+
expect(onActionsMenuOpenSpy).toHaveBeenCalled();
|
|
109
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('More actions'))];
|
|
110
|
+
case 2:
|
|
111
|
+
_a.sent();
|
|
112
|
+
expect(onActionsMenuCloseSpy).toHaveBeenCalled();
|
|
113
|
+
return [2 /*return*/];
|
|
114
|
+
}
|
|
59
115
|
});
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
116
|
+
}); });
|
|
117
|
+
it('should render buttons for default mode', function () {
|
|
118
|
+
setUp();
|
|
119
|
+
var buttons = react_2.screen.getAllByTestId('testButton');
|
|
120
|
+
expect(buttons).toHaveLength(2);
|
|
121
|
+
buttons.forEach(function (button) {
|
|
122
|
+
expect(button).toHaveAttribute('data-mode', 'button');
|
|
66
123
|
});
|
|
67
124
|
});
|
|
68
|
-
it('should render
|
|
69
|
-
|
|
70
|
-
var
|
|
71
|
-
var component = (0, enzyme_1.shallow)(react_1.default.createElement(ActionsPanel_1.ActionsPanel, { actions: actions, mode: "hover", onActionsMenuOpen: onActionsMenuOpen, onActionsMenuClose: onActionsMenuClose }));
|
|
72
|
-
var buttons = component.find(MergeButton);
|
|
125
|
+
it('should render buttons for hover mode', function () {
|
|
126
|
+
setUp({ actions: actions, mode: 'hover' });
|
|
127
|
+
var buttons = react_2.screen.getAllByTestId('testButton');
|
|
73
128
|
expect(buttons).toHaveLength(2);
|
|
74
|
-
buttons.
|
|
75
|
-
expect(button
|
|
76
|
-
});
|
|
77
|
-
var dropDownMenuButton = component.find(DropDownMenuButton_1.DropDownMenuButton);
|
|
78
|
-
expect(dropDownMenuButton).toHaveLength(1);
|
|
79
|
-
expect(dropDownMenuButton.props()).toMatchObject({
|
|
80
|
-
menuItems: [actions[2]],
|
|
81
|
-
onMenuOpen: onActionsMenuOpen,
|
|
82
|
-
onMenuClose: onActionsMenuClose
|
|
129
|
+
buttons.forEach(function (button) {
|
|
130
|
+
expect(button).toHaveAttribute('data-mode', 'iconButton');
|
|
83
131
|
});
|
|
84
132
|
});
|
|
133
|
+
describe('menu item tests', function () {
|
|
134
|
+
it('should call onActionsMenuClose from menu item', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
135
|
+
var onActionsMenuCloseSpy, user, menu;
|
|
136
|
+
return __generator(this, function (_a) {
|
|
137
|
+
switch (_a.label) {
|
|
138
|
+
case 0:
|
|
139
|
+
onActionsMenuCloseSpy = jest.fn();
|
|
140
|
+
user = setUp({ actions: actions, onActionsMenuClose: onActionsMenuCloseSpy }).user;
|
|
141
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('More actions'))];
|
|
142
|
+
case 1:
|
|
143
|
+
_a.sent();
|
|
144
|
+
menu = react_2.screen.getByRole('menu');
|
|
145
|
+
return [4 /*yield*/, user.click((0, react_2.within)(menu).getByRole('button'))];
|
|
146
|
+
case 2:
|
|
147
|
+
_a.sent();
|
|
148
|
+
expect(onActionsMenuCloseSpy).toHaveBeenCalled();
|
|
149
|
+
return [2 /*return*/];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}); });
|
|
153
|
+
it('should render menu button with correct mode', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
154
|
+
var user, menuButton;
|
|
155
|
+
return __generator(this, function (_a) {
|
|
156
|
+
switch (_a.label) {
|
|
157
|
+
case 0:
|
|
158
|
+
user = setUp().user;
|
|
159
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('More actions'))];
|
|
160
|
+
case 1:
|
|
161
|
+
_a.sent();
|
|
162
|
+
menuButton = (0, react_2.within)(react_2.screen.getByRole('menu')).getByRole('button');
|
|
163
|
+
expect(menuButton).toHaveAttribute('data-mode', 'menuItem');
|
|
164
|
+
return [2 /*return*/];
|
|
165
|
+
}
|
|
166
|
+
});
|
|
167
|
+
}); });
|
|
168
|
+
});
|
|
85
169
|
});
|
|
@@ -10,28 +10,41 @@ 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 };
|
|
@@ -39,139 +52,155 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
39
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
53
|
var react_1 = __importDefault(require("react"));
|
|
41
54
|
var react_2 = require("@testing-library/react");
|
|
42
|
-
var
|
|
43
|
-
var MenuItem_1 = __importDefault(require("@mui/material/MenuItem"));
|
|
44
|
-
var ListItemText_1 = __importDefault(require("@mui/material/ListItemText"));
|
|
45
|
-
var AttributeListItem_1 = __importStar(require("./AttributeListItem"));
|
|
46
|
-
var Checkbox_1 = __importDefault(require("@mui/material/Checkbox"));
|
|
47
|
-
var SimpleAttribute_1 = __importDefault(require("../icons/SimpleAttribute"));
|
|
48
|
-
var NestedAttribute_1 = __importDefault(require("../icons/NestedAttribute"));
|
|
49
|
-
var ReferenceAttribute_1 = __importDefault(require("../icons//ReferenceAttribute"));
|
|
55
|
+
var AttributeListItem_1 = __importDefault(require("./AttributeListItem"));
|
|
50
56
|
var PlayArrow_1 = __importDefault(require("@mui/icons-material/PlayArrow"));
|
|
51
|
-
var
|
|
57
|
+
var test_utils_1 = require("../test-utils");
|
|
58
|
+
var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
52
59
|
describe('AttributeListItem tests', function () {
|
|
53
60
|
var defaultProps = {
|
|
54
61
|
data: {},
|
|
55
62
|
checked: false,
|
|
56
63
|
label: 'Some Title'
|
|
57
64
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
65
|
+
var setUp = function (props) {
|
|
66
|
+
if (props === void 0) { props = defaultProps; }
|
|
67
|
+
var user = user_event_1.default.setup();
|
|
68
|
+
return __assign({ user: user }, (0, react_2.render)(react_1.default.createElement(AttributeListItem_1.default, __assign({}, props))));
|
|
69
|
+
};
|
|
70
|
+
it('should render default components', function () {
|
|
71
|
+
setUp();
|
|
72
|
+
expect(react_2.screen.getByText(defaultProps.label)).toBeInTheDocument();
|
|
73
|
+
expect(react_2.screen.getByRole('checkbox')).not.toBeDisabled();
|
|
74
|
+
expect(react_2.screen.getByTestId('SvgSimpleAttribute')).toBeInTheDocument();
|
|
63
75
|
});
|
|
64
76
|
it('should render main components with label as a node', function () {
|
|
65
|
-
var
|
|
66
|
-
|
|
67
|
-
expect(
|
|
77
|
+
var label = react_1.default.createElement("span", null, "Some Title");
|
|
78
|
+
setUp(__assign(__assign({}, defaultProps), { label: label }));
|
|
79
|
+
expect(react_2.screen.getByText('Some Title')).toBeInTheDocument();
|
|
68
80
|
});
|
|
69
81
|
it('should render checked checkbox', function () {
|
|
70
|
-
|
|
71
|
-
var
|
|
72
|
-
expect(
|
|
73
|
-
expect(
|
|
74
|
-
expect(
|
|
82
|
+
setUp(__assign(__assign({}, defaultProps), { checked: true }));
|
|
83
|
+
var chechbox = react_2.screen.getByRole('checkbox');
|
|
84
|
+
expect(chechbox).toBeChecked();
|
|
85
|
+
expect(chechbox).not.toBeDisabled();
|
|
86
|
+
expect(chechbox.parentNode).toHaveClass('checked');
|
|
75
87
|
});
|
|
76
88
|
it('should render unchecked checkbox', function () {
|
|
77
|
-
|
|
78
|
-
var
|
|
79
|
-
expect(
|
|
80
|
-
expect(
|
|
81
|
-
|
|
82
|
-
it('should render simple attribute icon by default', function () {
|
|
83
|
-
var component = (0, enzyme_1.mount)(react_1.default.createElement(AttributeListItem_1.default, __assign({}, defaultProps)));
|
|
84
|
-
expect(component.find(SimpleAttribute_1.default)).toHaveLength(1);
|
|
85
|
-
expect(component.find(NestedAttribute_1.default)).toHaveLength(0);
|
|
86
|
-
expect(component.find(ReferenceAttribute_1.default)).toHaveLength(0);
|
|
87
|
-
expect(component.find(AttributeListItem_1.RecommendedIconWithTooltip)).toHaveLength(0);
|
|
89
|
+
setUp(__assign(__assign({}, defaultProps), { checked: false }));
|
|
90
|
+
var chechbox = react_2.screen.getByRole('checkbox');
|
|
91
|
+
expect(chechbox).not.toBeChecked();
|
|
92
|
+
expect(chechbox).not.toBeDisabled();
|
|
93
|
+
expect(chechbox.parentNode).not.toHaveClass('checked');
|
|
88
94
|
});
|
|
89
95
|
it('should render nested attribute icon', function () {
|
|
90
|
-
|
|
96
|
+
setUp(__assign(__assign({}, defaultProps), { data: {
|
|
91
97
|
attrType: {
|
|
92
98
|
type: 'Nested',
|
|
93
99
|
name: 'name',
|
|
94
100
|
uri: 'uri'
|
|
95
101
|
}
|
|
96
|
-
} }))
|
|
97
|
-
expect(
|
|
98
|
-
expect(component.find(NestedAttribute_1.default)).toHaveLength(1);
|
|
99
|
-
expect(component.find(ReferenceAttribute_1.default)).toHaveLength(0);
|
|
100
|
-
expect(component.find(AttributeListItem_1.RecommendedIconWithTooltip)).toHaveLength(0);
|
|
102
|
+
} }));
|
|
103
|
+
expect(react_2.screen.getByTestId('SvgNestedAttribute')).toBeInTheDocument();
|
|
101
104
|
});
|
|
102
105
|
it('should render reference attribute icon', function () {
|
|
103
|
-
|
|
106
|
+
setUp(__assign(__assign({}, defaultProps), { data: {
|
|
104
107
|
attrType: {
|
|
105
108
|
type: 'Reference',
|
|
106
109
|
name: 'name',
|
|
107
110
|
uri: 'uri'
|
|
108
111
|
}
|
|
109
|
-
} }))
|
|
110
|
-
expect(
|
|
111
|
-
expect(component.find(NestedAttribute_1.default)).toHaveLength(0);
|
|
112
|
-
expect(component.find(ReferenceAttribute_1.default)).toHaveLength(1);
|
|
113
|
-
expect(component.find(AttributeListItem_1.RecommendedIconWithTooltip)).toHaveLength(0);
|
|
112
|
+
} }));
|
|
113
|
+
expect(react_2.screen.getByTestId('SvgReferenceAttribute')).toBeInTheDocument();
|
|
114
114
|
});
|
|
115
115
|
it("should render recommended icon if groupId === 'recommended'", function () {
|
|
116
|
-
|
|
117
|
-
expect(
|
|
118
|
-
expect(component.find(NestedAttribute_1.default)).toHaveLength(0);
|
|
119
|
-
expect(component.find(ReferenceAttribute_1.default)).toHaveLength(0);
|
|
120
|
-
expect(component.find(AttributeListItem_1.RecommendedIconWithTooltip)).toHaveLength(1);
|
|
116
|
+
setUp(__assign(__assign({}, defaultProps), { hideIcon: false, data: {}, groupId: 'recommended' }));
|
|
117
|
+
expect(react_2.screen.getByTestId('SvgRecommended')).toBeInTheDocument();
|
|
121
118
|
});
|
|
122
119
|
it('should not render icon if props.hideIcon === true', function () {
|
|
123
|
-
|
|
124
|
-
expect(
|
|
125
|
-
expect(component.find(NestedAttribute_1.default)).toHaveLength(0);
|
|
126
|
-
expect(component.find(ReferenceAttribute_1.default)).toHaveLength(0);
|
|
127
|
-
expect(component.find(AttributeListItem_1.RecommendedIconWithTooltip)).toHaveLength(0);
|
|
120
|
+
setUp(__assign(__assign({}, defaultProps), { hideIcon: true }));
|
|
121
|
+
expect(react_2.screen.queryByTestId('SvgSimpleAttribute')).not.toBeInTheDocument();
|
|
128
122
|
});
|
|
129
123
|
it('should render logo attribute icon', function () {
|
|
130
|
-
|
|
131
|
-
expect(
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
124
|
+
setUp(__assign(__assign({}, defaultProps), { LogoIcon: PlayArrow_1.default }));
|
|
125
|
+
expect((0, test_utils_1.getMuiIconByName)('PlayArrow')).toBeInTheDocument();
|
|
126
|
+
});
|
|
127
|
+
it('should call onClick props with checked state and attributeTypes', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
128
|
+
var onClick, data, groupId, _a, user, rerender;
|
|
129
|
+
return __generator(this, function (_b) {
|
|
130
|
+
switch (_b.label) {
|
|
131
|
+
case 0:
|
|
132
|
+
onClick = jest.fn();
|
|
133
|
+
data = {};
|
|
134
|
+
groupId = 'tesGroupId';
|
|
135
|
+
_a = setUp(__assign(__assign({}, defaultProps), { data: data, onClick: onClick, groupId: groupId })), user = _a.user, rerender = _a.rerender;
|
|
136
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem'))];
|
|
137
|
+
case 1:
|
|
138
|
+
_b.sent();
|
|
139
|
+
expect(onClick).toBeCalledWith(data, true, groupId);
|
|
140
|
+
rerender(react_1.default.createElement(AttributeListItem_1.default, __assign({}, defaultProps, { data: data, onClick: onClick, groupId: groupId, checked: true })));
|
|
141
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem'))];
|
|
142
|
+
case 2:
|
|
143
|
+
_b.sent();
|
|
144
|
+
expect(onClick).toBeCalledWith(data, false, groupId);
|
|
145
|
+
return [2 /*return*/];
|
|
146
|
+
}
|
|
147
|
+
});
|
|
148
|
+
}); });
|
|
146
149
|
it('should hide checkbox when hideCheckBox is set', function () {
|
|
147
|
-
|
|
148
|
-
expect(
|
|
149
|
-
});
|
|
150
|
-
it('should unable click for nested attribute when hideCheckBox is set', function () {
|
|
151
|
-
var
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
150
|
+
setUp(__assign(__assign({}, defaultProps), { hideCheckBox: true }));
|
|
151
|
+
expect(react_2.screen.queryByRole('checkbox')).not.toBeInTheDocument();
|
|
152
|
+
});
|
|
153
|
+
it('should unable click for nested attribute when hideCheckBox is set', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
154
|
+
var onClick, user;
|
|
155
|
+
return __generator(this, function (_a) {
|
|
156
|
+
switch (_a.label) {
|
|
157
|
+
case 0:
|
|
158
|
+
onClick = jest.fn();
|
|
159
|
+
user = setUp(__assign(__assign({}, defaultProps), { onClick: onClick, data: {
|
|
160
|
+
attrType: {
|
|
161
|
+
type: 'Nested',
|
|
162
|
+
name: 'name',
|
|
163
|
+
uri: 'uri'
|
|
164
|
+
}
|
|
165
|
+
}, hideCheckBox: true })).user;
|
|
166
|
+
return [4 /*yield*/, user.click(react_2.screen.getByRole('menuitem'))];
|
|
167
|
+
case 1:
|
|
168
|
+
_a.sent();
|
|
169
|
+
expect(onClick).not.toBeCalled();
|
|
170
|
+
return [2 /*return*/];
|
|
171
|
+
}
|
|
172
|
+
});
|
|
173
|
+
}); });
|
|
174
|
+
it('should do not allow to click on attribute when notSelectable is true', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
175
|
+
var onClick, user, menuItem;
|
|
176
|
+
return __generator(this, function (_a) {
|
|
177
|
+
switch (_a.label) {
|
|
178
|
+
case 0:
|
|
179
|
+
onClick = jest.fn();
|
|
180
|
+
user = setUp(__assign(__assign({}, defaultProps), { onClick: onClick, data: {
|
|
181
|
+
attrType: {
|
|
182
|
+
type: 'Nested',
|
|
183
|
+
name: 'name',
|
|
184
|
+
uri: 'uri'
|
|
185
|
+
}
|
|
186
|
+
}, notSelectable: true })).user;
|
|
187
|
+
menuItem = react_2.screen.getByRole('menuitem');
|
|
188
|
+
return [4 /*yield*/, user.click(menuItem)];
|
|
189
|
+
case 1:
|
|
190
|
+
_a.sent();
|
|
191
|
+
expect(menuItem).toHaveClass('defaultCursor');
|
|
192
|
+
expect(onClick).not.toBeCalled();
|
|
193
|
+
expect(react_2.screen.getByRole('checkbox')).toBeDisabled();
|
|
194
|
+
return [2 /*return*/];
|
|
195
|
+
}
|
|
196
|
+
});
|
|
197
|
+
}); });
|
|
169
198
|
it('should render RequiredMark if isRequired=true', function () {
|
|
170
|
-
|
|
171
|
-
expect(
|
|
199
|
+
setUp(__assign(__assign({}, defaultProps), { isRequired: true }));
|
|
200
|
+
expect(react_2.screen.getByText('*')).toBeInTheDocument();
|
|
172
201
|
});
|
|
173
202
|
it('should disable notSelectable if disableNonSelectable=true', function () {
|
|
174
|
-
(
|
|
175
|
-
expect(react_2.screen.getByRole('checkbox')).
|
|
203
|
+
setUp(__assign(__assign({}, defaultProps), { isRequired: true, notSelectable: true, disableNonSelectable: true }));
|
|
204
|
+
expect(react_2.screen.getByRole('checkbox')).toBeDisabled();
|
|
176
205
|
});
|
|
177
206
|
});
|