@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
|
@@ -9,6 +9,42 @@ var __assign = (this && this.__assign) || function () {
|
|
|
9
9
|
};
|
|
10
10
|
return __assign.apply(this, arguments);
|
|
11
11
|
};
|
|
12
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
13
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
14
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
15
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
16
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
17
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
18
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
19
|
+
});
|
|
20
|
+
};
|
|
21
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
22
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
23
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
24
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
25
|
+
function step(op) {
|
|
26
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
27
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
28
|
+
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;
|
|
29
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
30
|
+
switch (op[0]) {
|
|
31
|
+
case 0: case 1: t = op; break;
|
|
32
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
33
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
34
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
35
|
+
default:
|
|
36
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
37
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
38
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
39
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
40
|
+
if (t[2]) _.ops.pop();
|
|
41
|
+
_.trys.pop(); continue;
|
|
42
|
+
}
|
|
43
|
+
op = body.call(thisArg, _);
|
|
44
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
45
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
46
|
+
}
|
|
47
|
+
};
|
|
12
48
|
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
13
49
|
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
14
50
|
if (ar || !(i in from)) {
|
|
@@ -19,113 +55,148 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
19
55
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
20
56
|
};
|
|
21
57
|
import React from 'react';
|
|
22
|
-
import { mount } from 'enzyme';
|
|
23
|
-
import { act } from 'react-dom/test-utils';
|
|
24
|
-
import Checkbox from '@mui/material/Checkbox';
|
|
25
|
-
import MenuItem from '@mui/material/MenuItem';
|
|
26
|
-
import { SelectionPopup } from '../../../SelectionPopup';
|
|
27
58
|
import { ColumnsSettingsPopup } from './ColumnsSettingsPopup';
|
|
28
|
-
import { AttributeListItem } from '../../../AttributeListItem';
|
|
29
59
|
import { DataTypes } from '@reltio/mdm-sdk';
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
60
|
+
import userEvent from '@testing-library/user-event';
|
|
61
|
+
import { render, screen, within } from '@testing-library/react';
|
|
62
|
+
describe('ColumnsSettingsPopup tests', function () {
|
|
63
|
+
var columnsData = [
|
|
64
|
+
{
|
|
65
|
+
id: '1',
|
|
66
|
+
label: 'nest',
|
|
67
|
+
dataTypeDefinition: {
|
|
68
|
+
type: DataTypes.TYPE_NESTED
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: '1.2',
|
|
73
|
+
label: 'nested.number',
|
|
74
|
+
dataTypeDefinition: {
|
|
75
|
+
type: DataTypes.TYPE_NUMBER
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
id: '3',
|
|
80
|
+
label: 'date',
|
|
81
|
+
dataTypeDefinition: {
|
|
82
|
+
type: DataTypes.TYPE_DATE
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
id: '11',
|
|
87
|
+
label: 'Just simple with id starts as nested id',
|
|
88
|
+
dataTypeDefinition: {
|
|
89
|
+
type: DataTypes.TYPE_STRING
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
];
|
|
93
|
+
var onColumnClick = jest.fn();
|
|
94
|
+
var onClose = jest.fn();
|
|
95
|
+
var defaultProps = {
|
|
96
|
+
columnsData: columnsData,
|
|
97
|
+
selectedColumns: [],
|
|
98
|
+
onColumnClick: onColumnClick,
|
|
99
|
+
onClose: onClose,
|
|
100
|
+
anchorEl: document.body
|
|
101
|
+
};
|
|
102
|
+
var setUp = function (props) {
|
|
103
|
+
if (props === void 0) { props = defaultProps; }
|
|
104
|
+
var user = userEvent.setup();
|
|
105
|
+
return __assign({ user: user }, render(React.createElement(ColumnsSettingsPopup, __assign({}, props))));
|
|
106
|
+
};
|
|
107
|
+
afterEach(function () {
|
|
34
108
|
jest.clearAllMocks();
|
|
35
109
|
});
|
|
36
110
|
describe('plain columns data behavior', function () {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
label
|
|
41
|
-
|
|
42
|
-
|
|
111
|
+
it('should open columns popup on if anchorEl exist and call on close on press tab', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
112
|
+
var user;
|
|
113
|
+
return __generator(this, function (_a) {
|
|
114
|
+
switch (_a.label) {
|
|
115
|
+
case 0:
|
|
116
|
+
user = setUp().user;
|
|
117
|
+
expect(screen.getAllByRole('menuitem')).toHaveLength(columnsData.length);
|
|
118
|
+
expect(onClose).not.toHaveBeenCalled();
|
|
119
|
+
return [4 /*yield*/, user.keyboard('{Tab}')];
|
|
120
|
+
case 1:
|
|
121
|
+
_a.sent();
|
|
122
|
+
expect(onClose).toHaveBeenCalled();
|
|
123
|
+
return [2 /*return*/];
|
|
43
124
|
}
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
125
|
+
});
|
|
126
|
+
}); });
|
|
127
|
+
it('should call props.onColumnClick correctly on column click', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
128
|
+
var user;
|
|
129
|
+
return __generator(this, function (_a) {
|
|
130
|
+
switch (_a.label) {
|
|
131
|
+
case 0:
|
|
132
|
+
user = setUp().user;
|
|
133
|
+
return [4 /*yield*/, user.click(screen.getByRole('menuitem', { name: columnsData[2].label }))];
|
|
134
|
+
case 1:
|
|
135
|
+
_a.sent();
|
|
136
|
+
expect(onColumnClick.mock.calls[0][0]).toMatchObject({ id: columnsData[2].id });
|
|
137
|
+
return [2 /*return*/];
|
|
57
138
|
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
139
|
+
});
|
|
140
|
+
}); });
|
|
141
|
+
it('should call props.onColumnClick correctly on parent column click', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
142
|
+
var user;
|
|
143
|
+
return __generator(this, function (_a) {
|
|
144
|
+
switch (_a.label) {
|
|
145
|
+
case 0:
|
|
146
|
+
user = setUp().user;
|
|
147
|
+
return [4 /*yield*/, user.click(screen.getByRole('menuitem', { name: columnsData[0].label }))];
|
|
148
|
+
case 1:
|
|
149
|
+
_a.sent();
|
|
150
|
+
expect(onColumnClick.mock.calls[0][0]).toMatchObject({ id: columnsData[0].id });
|
|
151
|
+
expect(onClose).not.toHaveBeenCalled();
|
|
152
|
+
return [2 /*return*/];
|
|
64
153
|
}
|
|
65
|
-
}
|
|
66
|
-
];
|
|
67
|
-
var props = {
|
|
68
|
-
columnsData: columnsData,
|
|
69
|
-
selectedColumns: [],
|
|
70
|
-
onColumnClick: jest.fn(),
|
|
71
|
-
onClose: jest.fn(),
|
|
72
|
-
anchorEl: {}
|
|
73
|
-
};
|
|
74
|
-
it('should open columns popup on button click and close on click away', function () {
|
|
75
|
-
var wrapper = mount(React.createElement(ColumnsSettingsPopup, __assign({}, props)));
|
|
76
|
-
var columnsPopup = getColumnsPopup(wrapper);
|
|
77
|
-
expect(columnsPopup.prop('open')).toBe(true);
|
|
78
|
-
act(function () {
|
|
79
|
-
columnsPopup.prop('onClose')();
|
|
80
154
|
});
|
|
81
|
-
|
|
155
|
+
}); });
|
|
156
|
+
it('should show selected icon for parent node if all chidlren selected', function () {
|
|
157
|
+
setUp(__assign(__assign({}, defaultProps), { selectedColumns: ['1.2'] }));
|
|
158
|
+
expect(within(screen.getByRole('menuitem', { name: columnsData[0].label })).getByRole('checkbox')).toBeChecked();
|
|
82
159
|
});
|
|
83
|
-
it('should call props.onColumnClick correctly on column click', function () {
|
|
84
|
-
var
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
});
|
|
97
|
-
it('should call props.onColumnClick correctly on parent column click and call on close with hidden checkboxes', function () {
|
|
98
|
-
var wrapper = mount(React.createElement(ColumnsSettingsPopup, __assign({ hideCheckBox: true }, props)));
|
|
99
|
-
expect(wrapper.find(AttributeListItem).at(1).prop('hideCheckBox')).toBeTruthy();
|
|
100
|
-
expect(getColumnItems(wrapper).at(1).find(Checkbox)).toHaveLength(0);
|
|
101
|
-
getColumnItems(wrapper).at(1).find('div').at(0).simulate('click');
|
|
102
|
-
expect(props.onColumnClick.mock.calls[0][0]).toMatchObject({ id: columnsData[1].id });
|
|
103
|
-
expect(props.onClose).toHaveBeenCalled();
|
|
104
|
-
});
|
|
105
|
-
it('should filter columns by label on search input change', function () {
|
|
106
|
-
var wrapper = mount(React.createElement(ColumnsSettingsPopup, __assign({}, props)));
|
|
107
|
-
act(function () {
|
|
108
|
-
getColumnsPopup(wrapper).prop('onSearch')('nested');
|
|
160
|
+
it('should call props.onColumnClick correctly on column click and call on close with hidden checkboxes', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
161
|
+
var user;
|
|
162
|
+
return __generator(this, function (_a) {
|
|
163
|
+
switch (_a.label) {
|
|
164
|
+
case 0:
|
|
165
|
+
user = setUp(__assign(__assign({}, defaultProps), { hideCheckBox: true })).user;
|
|
166
|
+
return [4 /*yield*/, user.click(screen.getByRole('menuitem', { name: columnsData[1].label }))];
|
|
167
|
+
case 1:
|
|
168
|
+
_a.sent();
|
|
169
|
+
expect(onColumnClick.mock.calls[0][0]).toMatchObject({ id: columnsData[1].id });
|
|
170
|
+
expect(onClose).toHaveBeenCalled();
|
|
171
|
+
return [2 /*return*/];
|
|
172
|
+
}
|
|
109
173
|
});
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
174
|
+
}); });
|
|
175
|
+
it('should filter columns by label on search input change', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
176
|
+
var user, menuItems;
|
|
177
|
+
return __generator(this, function (_a) {
|
|
178
|
+
switch (_a.label) {
|
|
179
|
+
case 0:
|
|
180
|
+
user = setUp().user;
|
|
181
|
+
return [4 /*yield*/, user.type(screen.getByPlaceholderText('Search & add attributes'), 'nested')];
|
|
182
|
+
case 1:
|
|
183
|
+
_a.sent();
|
|
184
|
+
menuItems = screen.getAllByRole('menuitem');
|
|
185
|
+
expect(menuItems[0]).toHaveTextContent('nest');
|
|
186
|
+
expect(menuItems[1]).toHaveTextContent('nested.number');
|
|
187
|
+
expect(menuItems[2]).toHaveTextContent('Just simple with id starts as nested id');
|
|
188
|
+
return [2 /*return*/];
|
|
189
|
+
}
|
|
190
|
+
});
|
|
191
|
+
}); });
|
|
117
192
|
it('should show only hideable columns', function () {
|
|
118
193
|
var nonHideableColumn = { id: 'NonHideable', hideable: false, label: '' };
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
expect(columnItems.length).toEqual(props.columnsData.length);
|
|
122
|
-
columnItems.forEach(function (item, index) {
|
|
123
|
-
expect(item.text()).toEqual(props.columnsData[index].label);
|
|
124
|
-
});
|
|
194
|
+
setUp(__assign(__assign({}, defaultProps), { columnsData: __spreadArray(__spreadArray([], columnsData, true), [nonHideableColumn], false) }));
|
|
195
|
+
expect(screen.getAllByRole('menuitem')).toHaveLength(columnsData.length);
|
|
125
196
|
});
|
|
126
197
|
});
|
|
127
198
|
describe('grouped columns data behavior', function () {
|
|
128
|
-
var
|
|
199
|
+
var groupedColumnsData = [
|
|
129
200
|
{
|
|
130
201
|
id: 'group1',
|
|
131
202
|
label: 'Group1',
|
|
@@ -174,48 +245,55 @@ describe('ColumnsSettingsPopup', function () {
|
|
|
174
245
|
]
|
|
175
246
|
}
|
|
176
247
|
];
|
|
177
|
-
var props = {
|
|
178
|
-
columnsData: columnsData,
|
|
179
|
-
selectedColumns: [],
|
|
180
|
-
onColumnClick: jest.fn(),
|
|
181
|
-
onClose: jest.fn(),
|
|
182
|
-
anchorEl: {}
|
|
183
|
-
};
|
|
184
|
-
beforeEach(function () {
|
|
185
|
-
jest.clearAllMocks();
|
|
186
|
-
});
|
|
187
248
|
it('should render items correctly', function () {
|
|
188
|
-
|
|
189
|
-
var columnItems =
|
|
249
|
+
setUp(__assign(__assign({}, defaultProps), { columnsData: groupedColumnsData }));
|
|
250
|
+
var columnItems = screen.getAllByRole('menuitem');
|
|
190
251
|
expect(columnItems).toHaveLength(7);
|
|
191
|
-
expect(columnItems
|
|
192
|
-
expect(columnItems
|
|
193
|
-
expect(columnItems
|
|
194
|
-
expect(columnItems
|
|
195
|
-
expect(columnItems
|
|
196
|
-
expect(columnItems
|
|
197
|
-
expect(columnItems
|
|
252
|
+
expect(columnItems[0]).toHaveTextContent('Group1');
|
|
253
|
+
expect(columnItems[1]).toHaveTextContent('nest');
|
|
254
|
+
expect(columnItems[2]).toHaveTextContent('nested.number');
|
|
255
|
+
expect(columnItems[3]).toHaveTextContent('column 4');
|
|
256
|
+
expect(columnItems[4]).toHaveTextContent('Group2');
|
|
257
|
+
expect(columnItems[5]).toHaveTextContent('date');
|
|
258
|
+
expect(columnItems[6]).toHaveTextContent('Just simple with id starts as nested id');
|
|
198
259
|
});
|
|
199
|
-
it('should call props.
|
|
200
|
-
var
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
260
|
+
it('should call props.onColumnClick correctly on group column click', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
261
|
+
var user;
|
|
262
|
+
return __generator(this, function (_a) {
|
|
263
|
+
switch (_a.label) {
|
|
264
|
+
case 0:
|
|
265
|
+
user = setUp(__assign(__assign({}, defaultProps), { columnsData: groupedColumnsData })).user;
|
|
266
|
+
return [4 /*yield*/, user.click(screen.getByRole('menuitem', { name: groupedColumnsData[0].columns[0].label }))];
|
|
267
|
+
case 1:
|
|
268
|
+
_a.sent();
|
|
269
|
+
expect(onColumnClick.mock.calls[0][0]).toMatchObject({ id: groupedColumnsData[0].columns[0].id });
|
|
270
|
+
expect(onClose).not.toHaveBeenCalled();
|
|
271
|
+
return [2 /*return*/];
|
|
272
|
+
}
|
|
210
273
|
});
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
expect(
|
|
215
|
-
expect(columnItems.at(1).text()).toBe('nest');
|
|
216
|
-
expect(columnItems.at(2).text()).toBe('nested.number');
|
|
217
|
-
expect(columnItems.at(3).text()).toBe('Group2');
|
|
218
|
-
expect(columnItems.at(4).text()).toBe('Just simple with id starts as nested id');
|
|
274
|
+
}); });
|
|
275
|
+
it('should show selected icon for parent node if all chidlren selected', function () {
|
|
276
|
+
setUp(__assign(__assign({}, defaultProps), { columnsData: groupedColumnsData, selectedColumns: ['1.2', '4'] }));
|
|
277
|
+
expect(within(screen.getByRole('menuitem', { name: groupedColumnsData[0].columns[0].label })).getByRole('checkbox')).toBeChecked();
|
|
219
278
|
});
|
|
279
|
+
it('should filter columns by label on search input change', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
280
|
+
var user, menuItems;
|
|
281
|
+
return __generator(this, function (_a) {
|
|
282
|
+
switch (_a.label) {
|
|
283
|
+
case 0:
|
|
284
|
+
user = setUp(__assign(__assign({}, defaultProps), { columnsData: groupedColumnsData })).user;
|
|
285
|
+
return [4 /*yield*/, user.type(screen.getByPlaceholderText('Search & add attributes'), 'nested')];
|
|
286
|
+
case 1:
|
|
287
|
+
_a.sent();
|
|
288
|
+
menuItems = screen.getAllByRole('menuitem');
|
|
289
|
+
expect(menuItems[0]).toHaveTextContent('Group1');
|
|
290
|
+
expect(menuItems[1]).toHaveTextContent('nest');
|
|
291
|
+
expect(menuItems[2]).toHaveTextContent('nested.number');
|
|
292
|
+
expect(menuItems[3]).toHaveTextContent('Group2');
|
|
293
|
+
expect(menuItems[4]).toHaveTextContent('Just simple with id starts as nested id');
|
|
294
|
+
return [2 /*return*/];
|
|
295
|
+
}
|
|
296
|
+
});
|
|
297
|
+
}); });
|
|
220
298
|
});
|
|
221
299
|
});
|