linear-react-components-ui 0.4.75 → 0.4.76-rc.0
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/.eslintrc.js +2 -5
- package/.tool-versions +1 -0
- package/.vscode/settings.json +8 -9
- package/README.md +23 -0
- package/config/jest/cssTransform.js +14 -0
- package/config/jest/fileTransform.js +12 -0
- package/config/jest/storageMock.js +40 -0
- package/jest.config.js +18 -0
- package/lib/alerts/alert.spec.js +133 -0
- package/lib/assets/styles/dropdown.scss +25 -2
- package/lib/assets/styles/effects.scss +12 -0
- package/lib/assets/styles/floatMenu.scss +0 -1
- package/lib/assets/styles/multiSelect.scss +105 -0
- package/lib/assets/styles/panel.scss +0 -1
- package/lib/assets/styles/periodpicker.scss +65 -0
- package/lib/assets/styles/popover.scss +9 -11
- package/lib/assets/styles/progress.scss +8 -1
- package/lib/assets/styles/select.scss +1 -0
- package/lib/assets/styles/table.scss +13 -5
- package/lib/assets/styles/tabs.scss +77 -43
- package/lib/assets/styles/treeview.scss +32 -0
- package/lib/avatar/avatar.spec.js +190 -0
- package/lib/avatar/index.js +6 -2
- package/lib/badge/badge.spec.js +127 -0
- package/lib/badge/index.js +3 -5
- package/lib/buttons/DefaultButton.js +7 -1
- package/lib/buttons/buttons.spec.js +504 -0
- package/lib/calendar/calendar.spec.js +171 -0
- package/lib/checkbox/Label.js +37 -0
- package/lib/checkbox/checkbox.spec.js +215 -0
- package/lib/checkbox/index.js +21 -6
- package/lib/dialog/Custom.js +7 -1
- package/lib/dialog/base/index.js +18 -6
- package/lib/dialog/dialog.spec.js +488 -0
- package/lib/dialog/form/index.js +23 -4
- package/lib/drawer/Drawer.js +3 -0
- package/lib/drawer/Drawer.spec.js +258 -0
- package/lib/drawer/Header.js +4 -1
- package/lib/drawer/index.js +4 -1
- package/lib/dropdown/Popup.js +1 -0
- package/lib/dropdown/dropdown.spec.js +168 -0
- package/lib/dropdown/withDropdown.js +10 -4
- package/lib/fieldset/fieldset.spec.js +329 -0
- package/lib/form/Field.js +2 -0
- package/lib/form/FieldNumber.js +10 -2
- package/lib/form/FieldPeriod.js +100 -0
- package/lib/form/form.spec.js +285 -0
- package/lib/form/helpers.js +9 -1
- package/lib/form/index.js +76 -10
- package/lib/form/withFieldHOC.js +2 -0
- package/lib/form/withFormSecurity.js +106 -0
- package/lib/gridlayout/GridRow.js +1 -1
- package/lib/gridlayout/gridLayout.spec.js +169 -0
- package/lib/icons/helper.js +16 -0
- package/lib/icons/icons.spec.js +86 -0
- package/lib/icons/index.js +2 -0
- package/lib/inputs/base/InputTextBase.js +15 -5
- package/lib/inputs/base/base.spec.js +690 -0
- package/lib/inputs/color/color_input.spec.js +174 -0
- package/lib/inputs/color/index.js +2 -2
- package/lib/inputs/date/date.spec.js +344 -0
- package/lib/inputs/date/index.js +7 -6
- package/lib/inputs/mask/Cpf.js +9 -9
- package/lib/inputs/mask/input_mask.spec.js +590 -0
- package/lib/inputs/multiSelect/ActionButtons.js +68 -0
- package/lib/inputs/multiSelect/Dropdown.js +200 -0
- package/lib/inputs/multiSelect/helper.js +18 -0
- package/lib/inputs/multiSelect/index.js +343 -0
- package/lib/inputs/number/BaseNumber.js +1 -1
- package/lib/inputs/number/index.js +7 -5
- package/lib/inputs/number/numberfield.spec.js +215 -0
- package/lib/inputs/period/Dialog.js +38 -0
- package/lib/inputs/period/Dropdown.js +90 -0
- package/lib/inputs/period/PeriodList.js +79 -0
- package/lib/inputs/period/helper.js +118 -0
- package/lib/inputs/period/index.js +490 -0
- package/lib/inputs/search/search_input.spec.js +209 -0
- package/lib/inputs/select/Dropdown.js +4 -4
- package/lib/inputs/select/index.js +26 -3
- package/lib/inputs/select/multiple/index.js +9 -7
- package/lib/inputs/select/select.spec.js +391 -0
- package/lib/inputs/select/simple/index.js +30 -18
- package/lib/inputs/text/textfield.spec.js +215 -0
- package/lib/inputs/textarea/textarea.spec.js +59 -0
- package/lib/internals/withTooltip.js +83 -82
- package/lib/labelMessages/index.js +3 -2
- package/lib/labelMessages/labelMessages.spec.js +176 -0
- package/lib/labels/label.spec.js +162 -0
- package/lib/list/Item.js +3 -3
- package/lib/list/index.js +21 -10
- package/lib/list/list.spec.js +611 -0
- package/lib/menus/float/MenuItem.js +25 -8
- package/lib/menus/float/float-menu.spec.js +221 -0
- package/lib/menus/sidenav/index.js +7 -3
- package/lib/menus/sidenav/popup_menu_search/index.js +1 -1
- package/lib/menus/sidenav/sidenav.spec.js +312 -0
- package/lib/noPermission/index.js +2 -1
- package/lib/panel/panel.spec.js +216 -0
- package/lib/popover/index.js +2 -1
- package/lib/popover/popover.spec.js +146 -0
- package/lib/progress/Bar.js +40 -9
- package/lib/progress/index.js +12 -4
- package/lib/progress/progress.spec.js +86 -0
- package/lib/radio/radio.spec.js +189 -0
- package/lib/spinner/SpinnerLoading.js +14 -24
- package/lib/spinner/index.js +6 -1
- package/lib/spinner/spinner.spec.js +152 -0
- package/lib/split/Split.js +10 -12
- package/lib/split/split.spec.js +151 -0
- package/lib/table/Header.js +3 -1
- package/lib/table/Row.js +2 -5
- package/lib/table/index.js +1 -4
- package/lib/table/table.spec.js +352 -0
- package/lib/tabs/DropdownItems.js +84 -0
- package/lib/tabs/Menu.js +18 -5
- package/lib/tabs/MenuItems.js +7 -7
- package/lib/tabs/Panel.js +1 -3
- package/lib/tabs/index.js +126 -17
- package/lib/tabs/tabs.spec.js +346 -0
- package/lib/toolbar/index.js +8 -4
- package/lib/toolbar/toolbar.spec.js +394 -0
- package/lib/tooltip/index.js +13 -0
- package/lib/tooltip/tooltip.spec.js +203 -0
- package/lib/treeview/Node.js +288 -18
- package/lib/treeview/index.js +448 -35
- package/lib/treeview/treeview.spec.js +261 -0
- package/package.json +19 -9
- package/.DS_Store +0 -0
|
@@ -0,0 +1,391 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
|
|
10
|
+
|
|
11
|
+
var _simple = _interopRequireDefault(require("./simple"));
|
|
12
|
+
|
|
13
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
14
|
+
|
|
15
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
16
|
+
|
|
17
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
18
|
+
|
|
19
|
+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
20
|
+
|
|
21
|
+
var SelectFieldTest = function SelectFieldTest(props) {
|
|
22
|
+
var dataArray = function dataArray() {
|
|
23
|
+
return [{
|
|
24
|
+
id: 9000,
|
|
25
|
+
name: 'C#',
|
|
26
|
+
iconName: 'user_group'
|
|
27
|
+
}, {
|
|
28
|
+
id: 14,
|
|
29
|
+
name: 'Java',
|
|
30
|
+
iconName: 'folder_close'
|
|
31
|
+
}, {
|
|
32
|
+
id: 3,
|
|
33
|
+
name: 'Erlang',
|
|
34
|
+
iconName: 'calendar'
|
|
35
|
+
}, {
|
|
36
|
+
id: 13,
|
|
37
|
+
name: 'Pascal',
|
|
38
|
+
iconName: 'config'
|
|
39
|
+
}];
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
return /*#__PURE__*/_react["default"].createElement(_simple["default"], _extends({}, props, {
|
|
43
|
+
dataSource: dataArray(),
|
|
44
|
+
idKey: "id",
|
|
45
|
+
descriptionKey: "name",
|
|
46
|
+
id: "testId",
|
|
47
|
+
value: 14,
|
|
48
|
+
label: "testLabel",
|
|
49
|
+
placeHolder: "testPlaceHolder",
|
|
50
|
+
maxLength: 5,
|
|
51
|
+
multiple: true,
|
|
52
|
+
hint: "testHint",
|
|
53
|
+
errorMessages: ['error1, error2'],
|
|
54
|
+
textAlign: "left",
|
|
55
|
+
dropdownMaxHeight: 100,
|
|
56
|
+
name: "test"
|
|
57
|
+
}));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
describe('Select', function () {
|
|
61
|
+
describe('Permission', function () {
|
|
62
|
+
var defineStorage = function defineStorage() {
|
|
63
|
+
Object.defineProperty(window, 'sessionStorage', {
|
|
64
|
+
value: (0, _storageMock["default"])()
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
|
|
68
|
+
it('should check permission', function () {
|
|
69
|
+
defineStorage();
|
|
70
|
+
|
|
71
|
+
var _render = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_simple["default"], {
|
|
72
|
+
idKey: "id",
|
|
73
|
+
descriptionKey: "name",
|
|
74
|
+
permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
|
|
75
|
+
})),
|
|
76
|
+
container = _render.container;
|
|
77
|
+
|
|
78
|
+
expect(container.firstChild).not.toHaveClass('-disabled');
|
|
79
|
+
expect(container.firstChild).toBeTruthy();
|
|
80
|
+
});
|
|
81
|
+
it('should check permission, be unavaible and onDenied is disabled', function () {
|
|
82
|
+
defineStorage();
|
|
83
|
+
var mockOnClick = jest.fn();
|
|
84
|
+
|
|
85
|
+
var mockButton = /*#__PURE__*/_react["default"].createElement(_simple["default"], {
|
|
86
|
+
idKey: "id",
|
|
87
|
+
descriptionKey: "name",
|
|
88
|
+
onClick: mockOnClick,
|
|
89
|
+
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
|
|
90
|
+
});
|
|
91
|
+
|
|
92
|
+
var _render2 = (0, _react2.render)(mockButton),
|
|
93
|
+
container = _render2.container;
|
|
94
|
+
|
|
95
|
+
_react2.fireEvent.click(container.querySelector('input'));
|
|
96
|
+
|
|
97
|
+
expect(container.querySelector('input')).toBeDisabled();
|
|
98
|
+
expect(mockOnClick).toBeCalledTimes(0);
|
|
99
|
+
});
|
|
100
|
+
it('should check permission, be unavaible and onDenied is unvisible', function () {
|
|
101
|
+
defineStorage();
|
|
102
|
+
|
|
103
|
+
var _render3 = (0, _react2.render)( /*#__PURE__*/_react["default"].createElement(_simple["default"], {
|
|
104
|
+
idKey: "id",
|
|
105
|
+
descriptionKey: "name",
|
|
106
|
+
permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('unvisible')
|
|
107
|
+
})),
|
|
108
|
+
container = _render3.container;
|
|
109
|
+
|
|
110
|
+
expect(container.querySelector('input')).not.toBeTruthy();
|
|
111
|
+
});
|
|
112
|
+
});
|
|
113
|
+
describe('Default', function () {
|
|
114
|
+
it('should render without errors', function () {
|
|
115
|
+
var _render4 = (0, _react2.render)(SelectFieldTest()),
|
|
116
|
+
container = _render4.container;
|
|
117
|
+
|
|
118
|
+
expect(container.firstChild).toBeTruthy();
|
|
119
|
+
});
|
|
120
|
+
it('should idKey', function () {
|
|
121
|
+
var _render5 = (0, _react2.render)(SelectFieldTest()),
|
|
122
|
+
container = _render5.container;
|
|
123
|
+
|
|
124
|
+
expect(container.querySelector('input').id).toBe('testId');
|
|
125
|
+
});
|
|
126
|
+
it('should value', function () {
|
|
127
|
+
var _render6 = (0, _react2.render)(SelectFieldTest()),
|
|
128
|
+
container = _render6.container;
|
|
129
|
+
|
|
130
|
+
expect(container.querySelector('input').value).toBe('Java');
|
|
131
|
+
});
|
|
132
|
+
it('should multiple', function () {
|
|
133
|
+
var _render7 = (0, _react2.render)(SelectFieldTest()),
|
|
134
|
+
container = _render7.container,
|
|
135
|
+
getByTestId = _render7.getByTestId;
|
|
136
|
+
|
|
137
|
+
var inputContent = container.querySelector('input');
|
|
138
|
+
|
|
139
|
+
_react2.fireEvent.change(inputContent, {
|
|
140
|
+
target: {
|
|
141
|
+
value: [14, 13, 3]
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
|
|
145
|
+
expect(getByTestId('testInputContent')).toHaveClass('multiselect');
|
|
146
|
+
expect(getByTestId('testInputContent').querySelectorAll('.item').length >= 1);
|
|
147
|
+
});
|
|
148
|
+
it('should hint', function () {
|
|
149
|
+
var _render8 = (0, _react2.render)(SelectFieldTest()),
|
|
150
|
+
container = _render8.container;
|
|
151
|
+
|
|
152
|
+
expect(container.querySelector('p')).toHaveTextContent('testHint');
|
|
153
|
+
});
|
|
154
|
+
it('should undigitable', function () {
|
|
155
|
+
var _render9 = (0, _react2.render)(SelectFieldTest({
|
|
156
|
+
undigitable: true
|
|
157
|
+
})),
|
|
158
|
+
getByTestId = _render9.getByTestId;
|
|
159
|
+
|
|
160
|
+
expect(getByTestId('testInputWrapper')).toHaveClass('-undigitable');
|
|
161
|
+
});
|
|
162
|
+
it('should label text match with prop label', function () {
|
|
163
|
+
var _render10 = (0, _react2.render)(SelectFieldTest()),
|
|
164
|
+
container = _render10.container;
|
|
165
|
+
|
|
166
|
+
expect(container.querySelector('.select-component')).toHaveTextContent('testLabel');
|
|
167
|
+
});
|
|
168
|
+
it('should readOnly', function () {
|
|
169
|
+
var _render11 = (0, _react2.render)(SelectFieldTest({
|
|
170
|
+
readOnly: true
|
|
171
|
+
})),
|
|
172
|
+
container = _render11.container;
|
|
173
|
+
|
|
174
|
+
expect(container.querySelector('input').readOnly).toEqual(true);
|
|
175
|
+
});
|
|
176
|
+
it('should apply placeHolder', function () {
|
|
177
|
+
var _render12 = (0, _react2.render)(SelectFieldTest()),
|
|
178
|
+
container = _render12.container;
|
|
179
|
+
|
|
180
|
+
expect(container.querySelector('input').placeholder).toBe('testPlaceHolder');
|
|
181
|
+
});
|
|
182
|
+
it('should maxLength', function () {
|
|
183
|
+
var _render13 = (0, _react2.render)(SelectFieldTest()),
|
|
184
|
+
container = _render13.container;
|
|
185
|
+
|
|
186
|
+
expect(container.querySelector('input').maxLength).toBe(5);
|
|
187
|
+
});
|
|
188
|
+
it('should name', function () {
|
|
189
|
+
var _render14 = (0, _react2.render)(SelectFieldTest()),
|
|
190
|
+
container = _render14.container;
|
|
191
|
+
|
|
192
|
+
expect(container.querySelector('input').name).toBe('test');
|
|
193
|
+
});
|
|
194
|
+
it('should textAlign', function () {
|
|
195
|
+
var _render15 = (0, _react2.render)(SelectFieldTest()),
|
|
196
|
+
container = _render15.container;
|
|
197
|
+
|
|
198
|
+
expect(container.querySelector('input')).toHaveClass('text-align-left');
|
|
199
|
+
});
|
|
200
|
+
it('should rounded', function () {
|
|
201
|
+
var _render16 = (0, _react2.render)(SelectFieldTest({
|
|
202
|
+
rounded: true
|
|
203
|
+
})),
|
|
204
|
+
getByTestId = _render16.getByTestId;
|
|
205
|
+
|
|
206
|
+
expect(getByTestId('testInputWrapper')).toHaveClass('-roundedborders');
|
|
207
|
+
});
|
|
208
|
+
it('should id', function () {
|
|
209
|
+
var _render17 = (0, _react2.render)(SelectFieldTest()),
|
|
210
|
+
container = _render17.container;
|
|
211
|
+
|
|
212
|
+
expect(container.querySelector('input').id).toBe('testId');
|
|
213
|
+
});
|
|
214
|
+
it('should required', function () {
|
|
215
|
+
var _render18 = (0, _react2.render)(SelectFieldTest({
|
|
216
|
+
required: true
|
|
217
|
+
})),
|
|
218
|
+
container = _render18.container;
|
|
219
|
+
|
|
220
|
+
expect(container.querySelector('.labelcontainer span span')).toHaveClass('-requiredlabel');
|
|
221
|
+
});
|
|
222
|
+
it('should errorMessages', function () {
|
|
223
|
+
var _render19 = (0, _react2.render)(SelectFieldTest()),
|
|
224
|
+
getByTestId = _render19.getByTestId;
|
|
225
|
+
|
|
226
|
+
expect(getByTestId('testInputWrapper')).toHaveClass('-requirederror');
|
|
227
|
+
});
|
|
228
|
+
it('should searchOnDropdown', function () {
|
|
229
|
+
var _render20 = (0, _react2.render)(SelectFieldTest({
|
|
230
|
+
searchOnDropdown: true
|
|
231
|
+
})),
|
|
232
|
+
getByTestId = _render20.getByTestId;
|
|
233
|
+
|
|
234
|
+
expect(getByTestId('testInputWrapper')).toHaveClass('-undigitable');
|
|
235
|
+
});
|
|
236
|
+
it('should gridLayout', function () {
|
|
237
|
+
var _render21 = (0, _react2.render)(SelectFieldTest({
|
|
238
|
+
gridLayout: '6 6 6 6'
|
|
239
|
+
})),
|
|
240
|
+
container = _render21.container;
|
|
241
|
+
|
|
242
|
+
expect(container.querySelector('div')).toHaveClass('grid-container col-xs-6 col-sm-6 col-md-6 col-lg-6');
|
|
243
|
+
});
|
|
244
|
+
it('should showClearButton', function () {
|
|
245
|
+
var _render22 = (0, _react2.render)(SelectFieldTest({
|
|
246
|
+
showClearButton: true
|
|
247
|
+
})),
|
|
248
|
+
container = _render22.container;
|
|
249
|
+
|
|
250
|
+
expect(container.querySelector('svg')).toHaveClass('icon-component iconclear');
|
|
251
|
+
});
|
|
252
|
+
it('should autoFocus', function () {
|
|
253
|
+
var _render23 = (0, _react2.render)(SelectFieldTest({
|
|
254
|
+
autoFocus: true
|
|
255
|
+
})),
|
|
256
|
+
container = _render23.container;
|
|
257
|
+
|
|
258
|
+
expect(container.querySelector('input').focus).toBeTruthy();
|
|
259
|
+
});
|
|
260
|
+
it('should apply disabled', function () {
|
|
261
|
+
var _render24 = (0, _react2.render)(SelectFieldTest({
|
|
262
|
+
disabled: true
|
|
263
|
+
})),
|
|
264
|
+
container = _render24.container;
|
|
265
|
+
|
|
266
|
+
expect(container.querySelector('input')).toBeDisabled();
|
|
267
|
+
});
|
|
268
|
+
it('should apply onChange', function () {
|
|
269
|
+
var onChange = jest.fn();
|
|
270
|
+
|
|
271
|
+
var _render25 = (0, _react2.render)(SelectFieldTest({
|
|
272
|
+
onChange: onChange
|
|
273
|
+
})),
|
|
274
|
+
container = _render25.container;
|
|
275
|
+
|
|
276
|
+
var inputContent = container.querySelector('input');
|
|
277
|
+
|
|
278
|
+
_react2.fireEvent.change(inputContent, {
|
|
279
|
+
target: {
|
|
280
|
+
value: 14
|
|
281
|
+
}
|
|
282
|
+
});
|
|
283
|
+
|
|
284
|
+
expect(onChange).toBeCalled();
|
|
285
|
+
});
|
|
286
|
+
it('should apply onBlur', function () {
|
|
287
|
+
var onBlur = jest.fn();
|
|
288
|
+
|
|
289
|
+
var _render26 = (0, _react2.render)(SelectFieldTest({
|
|
290
|
+
onBlur: onBlur
|
|
291
|
+
})),
|
|
292
|
+
container = _render26.container;
|
|
293
|
+
|
|
294
|
+
var inputContent = container.querySelector('input');
|
|
295
|
+
|
|
296
|
+
_react2.fireEvent.blur(inputContent);
|
|
297
|
+
|
|
298
|
+
expect(onBlur).toBeCalled();
|
|
299
|
+
});
|
|
300
|
+
it('should remoteSearch', function () {
|
|
301
|
+
var _render27 = (0, _react2.render)(SelectFieldTest({
|
|
302
|
+
remoteSearch: true
|
|
303
|
+
})),
|
|
304
|
+
container = _render27.container;
|
|
305
|
+
|
|
306
|
+
var inputContent = container.querySelector('input');
|
|
307
|
+
|
|
308
|
+
_react2.fireEvent.change(inputContent, {
|
|
309
|
+
target: {
|
|
310
|
+
value: 'test'
|
|
311
|
+
}
|
|
312
|
+
});
|
|
313
|
+
|
|
314
|
+
expect(container.querySelector('.select-component').lastElementChild).toHaveClass('dropdown');
|
|
315
|
+
});
|
|
316
|
+
it('should apply onSearch', function () {
|
|
317
|
+
var onSearch = jest.fn();
|
|
318
|
+
|
|
319
|
+
var _render28 = (0, _react2.render)(SelectFieldTest({
|
|
320
|
+
remoteSearch: true,
|
|
321
|
+
onSearch: onSearch
|
|
322
|
+
})),
|
|
323
|
+
container = _render28.container;
|
|
324
|
+
|
|
325
|
+
var inputContent = container.querySelector('input');
|
|
326
|
+
|
|
327
|
+
_react2.fireEvent.change(inputContent, {
|
|
328
|
+
target: {
|
|
329
|
+
value: 'C#'
|
|
330
|
+
}
|
|
331
|
+
});
|
|
332
|
+
|
|
333
|
+
expect(onSearch).toBeCalled();
|
|
334
|
+
});
|
|
335
|
+
it('should descriptionKey', function () {
|
|
336
|
+
var _render29 = (0, _react2.render)(SelectFieldTest()),
|
|
337
|
+
container = _render29.container;
|
|
338
|
+
|
|
339
|
+
var inputContent = container.querySelector('input');
|
|
340
|
+
|
|
341
|
+
_react2.fireEvent.change(inputContent, {
|
|
342
|
+
target: {
|
|
343
|
+
value: 'test'
|
|
344
|
+
}
|
|
345
|
+
});
|
|
346
|
+
|
|
347
|
+
expect(container.querySelector('.dropdown').querySelectorAll('.item')[0]).toHaveTextContent('C#');
|
|
348
|
+
});
|
|
349
|
+
it('should selectFirstOnEnter', function () {
|
|
350
|
+
var _render30 = (0, _react2.render)(SelectFieldTest({
|
|
351
|
+
selectFirstOnEnter: true
|
|
352
|
+
})),
|
|
353
|
+
container = _render30.container;
|
|
354
|
+
|
|
355
|
+
var inputContent = container.querySelector('input');
|
|
356
|
+
|
|
357
|
+
_react2.fireEvent.change(inputContent, {
|
|
358
|
+
target: {
|
|
359
|
+
value: ''
|
|
360
|
+
}
|
|
361
|
+
});
|
|
362
|
+
|
|
363
|
+
var dropdown = container.querySelector('.select-component').lastElementChild;
|
|
364
|
+
expect(dropdown.firstChild).toHaveClass('-selected');
|
|
365
|
+
});
|
|
366
|
+
it('should openDropdownOnFocus', function () {
|
|
367
|
+
var _render31 = (0, _react2.render)(SelectFieldTest({
|
|
368
|
+
openDropdownOnFocus: false
|
|
369
|
+
})),
|
|
370
|
+
container = _render31.container;
|
|
371
|
+
|
|
372
|
+
container.querySelector('input').focus();
|
|
373
|
+
expect(container.querySelector('.dropdown')).not.toBeTruthy();
|
|
374
|
+
});
|
|
375
|
+
it('should dataSource', function () {
|
|
376
|
+
var _render32 = (0, _react2.render)(SelectFieldTest()),
|
|
377
|
+
container = _render32.container;
|
|
378
|
+
|
|
379
|
+
var inputContent = container.querySelector('input');
|
|
380
|
+
|
|
381
|
+
_react2.fireEvent.change(inputContent, {
|
|
382
|
+
target: {
|
|
383
|
+
value: 'test'
|
|
384
|
+
}
|
|
385
|
+
});
|
|
386
|
+
|
|
387
|
+
var dropdown = container.querySelector('.dropdown');
|
|
388
|
+
expect(dropdown.firstChild !== dropdown.lastChild);
|
|
389
|
+
});
|
|
390
|
+
});
|
|
391
|
+
});
|
|
@@ -127,9 +127,6 @@ var SimpleSelect = /*#__PURE__*/function (_Component) {
|
|
|
127
127
|
onFocus: function onFocus() {
|
|
128
128
|
_this2.onFocus();
|
|
129
129
|
},
|
|
130
|
-
onBlur: function onBlur(e) {
|
|
131
|
-
_this2.onBlur(e);
|
|
132
|
-
},
|
|
133
130
|
onChange: function onChange(e) {
|
|
134
131
|
_this2.onFilter(e.target.value);
|
|
135
132
|
},
|
|
@@ -293,18 +290,11 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
293
290
|
enumerable: true,
|
|
294
291
|
writable: true,
|
|
295
292
|
value: function value(selected) {
|
|
296
|
-
var
|
|
297
|
-
onChange = _this3$props2.onChange,
|
|
298
|
-
idKey = _this3$props2.idKey,
|
|
299
|
-
name = _this3$props2.name;
|
|
293
|
+
var onChange = _this3.props.onChange;
|
|
300
294
|
|
|
301
295
|
if (onChange) {
|
|
302
|
-
var event =
|
|
303
|
-
|
|
304
|
-
name: name,
|
|
305
|
-
value: selected ? selected[idKey] : undefined
|
|
306
|
-
}
|
|
307
|
-
};
|
|
296
|
+
var event = _this3.getSelectEvent(selected);
|
|
297
|
+
|
|
308
298
|
onChange(event);
|
|
309
299
|
}
|
|
310
300
|
}
|
|
@@ -364,9 +354,15 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
364
354
|
configurable: true,
|
|
365
355
|
enumerable: true,
|
|
366
356
|
writable: true,
|
|
367
|
-
value: function value(
|
|
357
|
+
value: function value(selected) {
|
|
368
358
|
var onBlur = _this3.props.onBlur;
|
|
369
|
-
|
|
359
|
+
|
|
360
|
+
if (onBlur) {
|
|
361
|
+
var event = _this3.getSelectEvent(selected);
|
|
362
|
+
|
|
363
|
+
onBlur(event);
|
|
364
|
+
}
|
|
365
|
+
|
|
370
366
|
if (!_this3.state.insideComponent) _this3.setState({
|
|
371
367
|
opened: false,
|
|
372
368
|
isTyping: false
|
|
@@ -378,9 +374,9 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
378
374
|
enumerable: true,
|
|
379
375
|
writable: true,
|
|
380
376
|
value: function value(e) {
|
|
381
|
-
var _this3$
|
|
382
|
-
dataSource = _this3$
|
|
383
|
-
idKey = _this3$
|
|
377
|
+
var _this3$props2 = _this3.props,
|
|
378
|
+
dataSource = _this3$props2.dataSource,
|
|
379
|
+
idKey = _this3$props2.idKey;
|
|
384
380
|
var _this3$state = _this3.state,
|
|
385
381
|
selected = _this3$state.selected,
|
|
386
382
|
isTyping = _this3$state.isTyping;
|
|
@@ -421,6 +417,22 @@ var _initialiseProps = function _initialiseProps() {
|
|
|
421
417
|
});
|
|
422
418
|
}
|
|
423
419
|
});
|
|
420
|
+
Object.defineProperty(this, "getSelectEvent", {
|
|
421
|
+
configurable: true,
|
|
422
|
+
enumerable: true,
|
|
423
|
+
writable: true,
|
|
424
|
+
value: function value(selected) {
|
|
425
|
+
var _this3$props3 = _this3.props,
|
|
426
|
+
idKey = _this3$props3.idKey,
|
|
427
|
+
name = _this3$props3.name;
|
|
428
|
+
return {
|
|
429
|
+
target: {
|
|
430
|
+
name: name,
|
|
431
|
+
value: selected ? selected[idKey] : undefined
|
|
432
|
+
}
|
|
433
|
+
};
|
|
434
|
+
}
|
|
435
|
+
});
|
|
424
436
|
Object.defineProperty(this, "setOnDenied", {
|
|
425
437
|
configurable: true,
|
|
426
438
|
enumerable: true,
|
|
@@ -0,0 +1,215 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
|
|
4
|
+
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
|
|
7
|
+
var _react2 = require("@testing-library/react");
|
|
8
|
+
|
|
9
|
+
require("@testing-library/jest-dom/extend-expect");
|
|
10
|
+
|
|
11
|
+
var _index = _interopRequireDefault(require("./index"));
|
|
12
|
+
|
|
13
|
+
var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
|
|
14
|
+
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
|
|
17
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
+
|
|
19
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
20
|
+
|
|
21
|
+
describe('TextField', function () {
|
|
22
|
+
var textField = function textField(fieldProps) {
|
|
23
|
+
return /*#__PURE__*/_react["default"].createElement(_index["default"], fieldProps);
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
var setSessionStorageMock = function setSessionStorageMock() {
|
|
27
|
+
Object.defineProperty(window, 'sessionStorage', {
|
|
28
|
+
value: (0, _storageMock["default"])()
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
describe('prop value should', function () {
|
|
33
|
+
it('be applied when is a numeric string', function () {
|
|
34
|
+
var value = '1';
|
|
35
|
+
|
|
36
|
+
var _render = (0, _react2.render)(textField({
|
|
37
|
+
value: value
|
|
38
|
+
})),
|
|
39
|
+
container = _render.container;
|
|
40
|
+
|
|
41
|
+
var inputHTML = container.querySelector('.textinput');
|
|
42
|
+
expect(inputHTML.value).toBe(value);
|
|
43
|
+
});
|
|
44
|
+
it('not be applied when is not a numeric string', function () {
|
|
45
|
+
var value = 'sus';
|
|
46
|
+
|
|
47
|
+
var _render2 = (0, _react2.render)(textField({
|
|
48
|
+
value: value
|
|
49
|
+
})),
|
|
50
|
+
container = _render2.container;
|
|
51
|
+
|
|
52
|
+
var inputHTML = container.querySelector('.textinput');
|
|
53
|
+
expect(inputHTML.value).toBe('sus');
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
it('should apply textAlign', function () {
|
|
57
|
+
var textAlign = 'left';
|
|
58
|
+
|
|
59
|
+
var _render3 = (0, _react2.render)(textField({
|
|
60
|
+
textAlign: textAlign
|
|
61
|
+
})),
|
|
62
|
+
container = _render3.container;
|
|
63
|
+
|
|
64
|
+
var inputHTML = container.querySelector('.textinput');
|
|
65
|
+
expect(inputHTML).toHaveClass("text-align-".concat(textAlign));
|
|
66
|
+
});
|
|
67
|
+
describe('prop permissionAttr', function () {
|
|
68
|
+
describe('when permission granted', function () {
|
|
69
|
+
it('should render subject', function () {
|
|
70
|
+
setSessionStorageMock();
|
|
71
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
|
|
72
|
+
|
|
73
|
+
var _render4 = (0, _react2.render)(textField({
|
|
74
|
+
permissionAttr: permissionAttr
|
|
75
|
+
})),
|
|
76
|
+
container = _render4.container;
|
|
77
|
+
|
|
78
|
+
expect(container.querySelector('.input-base-component')).not.toBeNull();
|
|
79
|
+
});
|
|
80
|
+
});
|
|
81
|
+
describe('when permission denied', function () {
|
|
82
|
+
it('onDenied.unvisible option should not render subject', function () {
|
|
83
|
+
setSessionStorageMock();
|
|
84
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
|
|
85
|
+
|
|
86
|
+
var _render5 = (0, _react2.render)(textField({
|
|
87
|
+
permissionAttr: permissionAttr
|
|
88
|
+
})),
|
|
89
|
+
container = _render5.container;
|
|
90
|
+
|
|
91
|
+
expect(container.querySelector('.input-base-component')).toBeNull();
|
|
92
|
+
});
|
|
93
|
+
describe('onDenied.disabled option/disabled prop should', function () {
|
|
94
|
+
it('disable subject', function () {
|
|
95
|
+
setSessionStorageMock();
|
|
96
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
|
|
97
|
+
var onChange = jest.fn();
|
|
98
|
+
|
|
99
|
+
var _render6 = (0, _react2.render)(textField({
|
|
100
|
+
permissionAttr: permissionAttr,
|
|
101
|
+
onChange: onChange
|
|
102
|
+
})),
|
|
103
|
+
container = _render6.container;
|
|
104
|
+
|
|
105
|
+
var inputHTML = container.querySelector('.textinput');
|
|
106
|
+
|
|
107
|
+
_react2.fireEvent.change(inputHTML, {
|
|
108
|
+
target: {
|
|
109
|
+
value: 'sus'
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
expect(inputHTML.disabled).toBeTruthy();
|
|
114
|
+
expect(onChange).not.toBeCalled();
|
|
115
|
+
});
|
|
116
|
+
it('add -disabled css class', function () {
|
|
117
|
+
setSessionStorageMock();
|
|
118
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
|
|
119
|
+
|
|
120
|
+
var _render7 = (0, _react2.render)(textField({
|
|
121
|
+
permissionAttr: permissionAttr
|
|
122
|
+
})),
|
|
123
|
+
container = _render7.container;
|
|
124
|
+
|
|
125
|
+
var inputWrapper = container.querySelector('.inputwrapper');
|
|
126
|
+
expect(inputWrapper).toHaveClass('-disabled');
|
|
127
|
+
});
|
|
128
|
+
});
|
|
129
|
+
describe('onDenied.readOnly option/readOnly prop should', function () {
|
|
130
|
+
it('apply readOnly attribute in input', function () {
|
|
131
|
+
setSessionStorageMock();
|
|
132
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('readOnly');
|
|
133
|
+
|
|
134
|
+
var _render8 = (0, _react2.render)(textField({
|
|
135
|
+
permissionAttr: permissionAttr
|
|
136
|
+
})),
|
|
137
|
+
container = _render8.container;
|
|
138
|
+
|
|
139
|
+
var inputHTML = container.querySelector('.textinput');
|
|
140
|
+
expect(inputHTML.readOnly).toBeTruthy();
|
|
141
|
+
});
|
|
142
|
+
it('disable callbacks', function () {
|
|
143
|
+
setSessionStorageMock();
|
|
144
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('readOnly');
|
|
145
|
+
var onChange = jest.fn();
|
|
146
|
+
|
|
147
|
+
var _render9 = (0, _react2.render)(textField({
|
|
148
|
+
permissionAttr: permissionAttr,
|
|
149
|
+
onChange: onChange
|
|
150
|
+
})),
|
|
151
|
+
container = _render9.container;
|
|
152
|
+
|
|
153
|
+
var inputHTML = container.querySelector('.textinput');
|
|
154
|
+
|
|
155
|
+
_react2.fireEvent.change(inputHTML, {
|
|
156
|
+
target: {
|
|
157
|
+
value: 'sus'
|
|
158
|
+
}
|
|
159
|
+
});
|
|
160
|
+
|
|
161
|
+
expect(onChange).not.toBeCalled();
|
|
162
|
+
});
|
|
163
|
+
});
|
|
164
|
+
describe('onDenied.hideContent should', function () {
|
|
165
|
+
it('should set input value to blank', function () {
|
|
166
|
+
setSessionStorageMock();
|
|
167
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
|
|
168
|
+
|
|
169
|
+
var _render10 = (0, _react2.render)(textField({
|
|
170
|
+
permissionAttr: permissionAttr,
|
|
171
|
+
value: 'text'
|
|
172
|
+
})),
|
|
173
|
+
container = _render10.container;
|
|
174
|
+
|
|
175
|
+
var inputHTML = container.querySelector('.textinput');
|
|
176
|
+
expect(inputHTML.value).toBe('');
|
|
177
|
+
});
|
|
178
|
+
it('disable input', function () {
|
|
179
|
+
setSessionStorageMock();
|
|
180
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
|
|
181
|
+
var onChange = jest.fn();
|
|
182
|
+
|
|
183
|
+
var _render11 = (0, _react2.render)(textField({
|
|
184
|
+
permissionAttr: permissionAttr,
|
|
185
|
+
onChange: onChange
|
|
186
|
+
})),
|
|
187
|
+
container = _render11.container;
|
|
188
|
+
|
|
189
|
+
var inputHTML = container.querySelector('.textinput');
|
|
190
|
+
|
|
191
|
+
_react2.fireEvent.change(inputHTML, {
|
|
192
|
+
target: {
|
|
193
|
+
value: 'sus'
|
|
194
|
+
}
|
|
195
|
+
});
|
|
196
|
+
|
|
197
|
+
expect(onChange).not.toBeCalled();
|
|
198
|
+
expect(inputHTML.disabled).toBeTruthy();
|
|
199
|
+
});
|
|
200
|
+
it('add -disabled css class', function () {
|
|
201
|
+
setSessionStorageMock();
|
|
202
|
+
var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
|
|
203
|
+
|
|
204
|
+
var _render12 = (0, _react2.render)(textField({
|
|
205
|
+
permissionAttr: permissionAttr
|
|
206
|
+
})),
|
|
207
|
+
container = _render12.container;
|
|
208
|
+
|
|
209
|
+
var inputWrapper = container.querySelector('.inputwrapper');
|
|
210
|
+
expect(inputWrapper).toHaveClass('-disabled');
|
|
211
|
+
});
|
|
212
|
+
});
|
|
213
|
+
});
|
|
214
|
+
});
|
|
215
|
+
});
|