linear-react-components-ui 0.4.75-beta.1 → 0.4.75-beta.13

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.
Files changed (80) hide show
  1. package/.eslintrc.js +2 -5
  2. package/.vscode/settings.json +9 -9
  3. package/config/jest/cssTransform.js +14 -0
  4. package/config/jest/fileTransform.js +12 -0
  5. package/config/jest/storageMock.js +40 -0
  6. package/jest.config.js +18 -0
  7. package/lib/alerts/alert.spec.js +133 -0
  8. package/lib/assets/styles/popover.scss +9 -11
  9. package/lib/assets/styles/treeview.scss +0 -32
  10. package/lib/avatar/avatar.spec.js +190 -0
  11. package/lib/avatar/index.js +6 -2
  12. package/lib/badge/badge.spec.js +127 -0
  13. package/lib/badge/index.js +3 -5
  14. package/lib/buttons/DefaultButton.js +1 -7
  15. package/lib/buttons/buttons.spec.js +504 -0
  16. package/lib/calendar/calendar.spec.js +171 -0
  17. package/lib/checkbox/checkbox.spec.js +215 -0
  18. package/lib/checkbox/index.js +7 -20
  19. package/lib/dialog/Custom.js +7 -1
  20. package/lib/dialog/base/index.js +3 -0
  21. package/lib/dialog/dialog.spec.js +488 -0
  22. package/lib/dialog/form/index.js +7 -1
  23. package/lib/drawer/Drawer.js +3 -0
  24. package/lib/drawer/Drawer.spec.js +258 -0
  25. package/lib/drawer/Header.js +4 -1
  26. package/lib/dropdown/Popup.js +1 -0
  27. package/lib/dropdown/dropdown.spec.js +168 -0
  28. package/lib/dropdown/withDropdown.js +10 -4
  29. package/lib/fieldset/fieldset.spec.js +329 -0
  30. package/lib/form/form.spec.js +285 -0
  31. package/lib/gridlayout/GridRow.js +1 -1
  32. package/lib/gridlayout/gridLayout.spec.js +169 -0
  33. package/lib/icons/icons.spec.js +86 -0
  34. package/lib/icons/index.js +2 -0
  35. package/lib/inputs/base/InputTextBase.js +2 -0
  36. package/lib/inputs/base/base.spec.js +690 -0
  37. package/lib/inputs/color/color_input.spec.js +174 -0
  38. package/lib/inputs/color/index.js +2 -2
  39. package/lib/inputs/date/date.spec.js +344 -0
  40. package/lib/inputs/date/index.js +7 -6
  41. package/lib/inputs/mask/Cpf.js +9 -9
  42. package/lib/inputs/mask/input_mask.spec.js +590 -0
  43. package/lib/inputs/number/numberfield.spec.js +215 -0
  44. package/lib/inputs/search/search_input.spec.js +209 -0
  45. package/lib/inputs/select/select.spec.js +391 -0
  46. package/lib/inputs/text/textfield.spec.js +215 -0
  47. package/lib/inputs/textarea/textarea.spec.js +59 -0
  48. package/lib/labelMessages/index.js +3 -2
  49. package/lib/labelMessages/labelMessages.spec.js +176 -0
  50. package/lib/labels/label.spec.js +162 -0
  51. package/lib/list/Item.js +3 -3
  52. package/lib/list/index.js +17 -8
  53. package/lib/list/list.spec.js +609 -0
  54. package/lib/menus/float/float-menu.spec.js +221 -0
  55. package/lib/menus/sidenav/sidenav.spec.js +312 -0
  56. package/lib/noPermission/index.js +2 -1
  57. package/lib/panel/panel.spec.js +216 -0
  58. package/lib/permissionValidations.js +1 -1
  59. package/lib/popover/index.js +2 -1
  60. package/lib/popover/popover.spec.js +146 -0
  61. package/lib/progress/progress.spec.js +86 -0
  62. package/lib/radio/radio.spec.js +189 -0
  63. package/lib/spinner/SpinnerLoading.js +14 -24
  64. package/lib/spinner/spinner.spec.js +152 -0
  65. package/lib/split/Split.js +5 -1
  66. package/lib/split/split.spec.js +151 -0
  67. package/lib/table/Header.js +3 -1
  68. package/lib/table/Row.js +1 -4
  69. package/lib/table/index.js +1 -4
  70. package/lib/table/table.spec.js +352 -0
  71. package/lib/tabs/tabs.spec.js +346 -0
  72. package/lib/toolbar/toolbar.spec.js +394 -0
  73. package/lib/tooltip/index.js +1 -0
  74. package/lib/tooltip/tooltip.spec.js +203 -0
  75. package/lib/treeview/Node.js +13 -255
  76. package/lib/treeview/index.js +35 -366
  77. package/lib/treeview/treeview.spec.js +261 -0
  78. package/package.json +11 -2
  79. package/.DS_Store +0 -0
  80. package/lib/checkbox/Label.js +0 -37
@@ -0,0 +1,609 @@
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 _reactRouterDom = require("react-router-dom");
12
+
13
+ var _index = _interopRequireWildcard(require("./index"));
14
+
15
+ var _buttons = _interopRequireDefault(require("../buttons"));
16
+
17
+ var _icons = _interopRequireDefault(require("../icons"));
18
+
19
+ var _storageMock = _interopRequireWildcard(require("../../../config/jest/storageMock"));
20
+
21
+ 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); }
22
+
23
+ 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; }
24
+
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
26
+
27
+ 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); }
28
+
29
+ describe('Components', function () {
30
+ // O componente BrowserRouter foi adicionado devido a thread:
31
+ // https://stackoverflow.com/questions/48640280/you-should-not-use-link-outside-a-router
32
+ var list = function list(listProps, listHeaderProps, listItemProps) {
33
+ return /*#__PURE__*/_react["default"].createElement(_reactRouterDom.BrowserRouter, null, /*#__PURE__*/_react["default"].createElement(_index["default"], listProps, /*#__PURE__*/_react["default"].createElement(_index.ListHeader, _extends({
34
+ title: "defaut"
35
+ }, listHeaderProps), /*#__PURE__*/_react["default"].createElement("p", {
36
+ className: "listheader-child"
37
+ }, "saas")), /*#__PURE__*/_react["default"].createElement(_index.ListItem, listItemProps, /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
38
+ customClass: "childbuttontest",
39
+ label: "Teste Child"
40
+ }))));
41
+ };
42
+
43
+ var setSessionStorageMock = function setSessionStorageMock() {
44
+ Object.defineProperty(window, 'sessionStorage', {
45
+ value: (0, _storageMock["default"])()
46
+ });
47
+ };
48
+
49
+ describe('List', function () {
50
+ it('should render correctly', function () {
51
+ var _render = (0, _react2.render)(list()),
52
+ container = _render.container;
53
+
54
+ expect(container.firstChild).toHaveClass('list-component');
55
+ });
56
+ it('prop transparent should remove css class -listbackground', function () {
57
+ var _render2 = (0, _react2.render)(list({
58
+ transparent: true
59
+ })),
60
+ container = _render2.container;
61
+
62
+ expect(container.firstChild).not.toHaveClass('-listbackground');
63
+ });
64
+ it('should apply customClass', function () {
65
+ var customClass = 'teste';
66
+
67
+ var _render3 = (0, _react2.render)(list({
68
+ customClass: customClass
69
+ })),
70
+ container = _render3.container;
71
+
72
+ expect(container.firstChild).toHaveClass(customClass);
73
+ });
74
+ it('prop condensed should apply css class -condensed', function () {
75
+ var _render4 = (0, _react2.render)(list({
76
+ condensed: true
77
+ })),
78
+ container = _render4.container;
79
+
80
+ expect(container.firstChild).toHaveClass('-condensed');
81
+ });
82
+ it('should apply style', function () {
83
+ var style = {
84
+ marginTop: '10px',
85
+ paddingBottom: '2px'
86
+ };
87
+
88
+ var _render5 = (0, _react2.render)(list({
89
+ style: style
90
+ })),
91
+ container = _render5.container;
92
+
93
+ expect(container.firstChild).toHaveStyle(style);
94
+ });
95
+ it('should mount component with initial selected item', function () {
96
+ var listItemProps = {
97
+ itemId: '1'
98
+ };
99
+
100
+ var _render6 = (0, _react2.render)(list({
101
+ initialSelectedItem: '1'
102
+ }, {}, listItemProps)),
103
+ container = _render6.container;
104
+
105
+ var listItem = container.querySelector('.item-container');
106
+ expect(listItem).toHaveClass('-activedlist');
107
+ });
108
+ describe('prop selectable', function () {
109
+ it('should allow ListItem to be selected', function () {
110
+ var listItemProps = {
111
+ itemId: '1',
112
+ onClick: jest.fn()
113
+ };
114
+
115
+ var _render7 = (0, _react2.render)(list({
116
+ selectable: true
117
+ }, {}, listItemProps)),
118
+ container = _render7.container;
119
+
120
+ var listItem = container.querySelector('.item-container');
121
+
122
+ _react2.fireEvent.click(listItem);
123
+
124
+ expect(listItem).toHaveClass('-activedlist');
125
+ });
126
+ it('should call onSelectItem', function () {
127
+ var mockOnSelectItem = jest.fn();
128
+
129
+ var mockList = /*#__PURE__*/_react["default"].createElement(_index["default"], {
130
+ selectable: true,
131
+ onSelectItem: function onSelectItem(itemId) {
132
+ return mockOnSelectItem(itemId);
133
+ }
134
+ }, /*#__PURE__*/_react["default"].createElement(_index.ListItem, {
135
+ itemId: "1",
136
+ text: "Teste Foo"
137
+ }));
138
+
139
+ var _render8 = (0, _react2.render)(mockList),
140
+ container = _render8.container;
141
+
142
+ var listItem = container.querySelector('.item-container');
143
+
144
+ _react2.fireEvent.click(listItem);
145
+
146
+ expect(mockOnSelectItem).toHaveBeenCalledWith('1');
147
+ });
148
+ });
149
+ });
150
+ describe('ListHeader', function () {
151
+ it('should render correctly', function () {
152
+ var _render9 = (0, _react2.render)(list()),
153
+ container = _render9.container;
154
+
155
+ expect(container.querySelector('.list-header')).toBeTruthy();
156
+ });
157
+ it('should apply title', function () {
158
+ var title = 'Teste Header';
159
+
160
+ var _render10 = (0, _react2.render)(list({}, {
161
+ title: title
162
+ })),
163
+ container = _render10.container;
164
+
165
+ var listHeaderTitle = container.querySelector('.list-header > .title');
166
+ expect(listHeaderTitle).toBeTruthy();
167
+ expect(listHeaderTitle).toHaveTextContent(title);
168
+ });
169
+ it('should apply style', function () {
170
+ var style = {
171
+ marginTop: '10px',
172
+ paddingBottom: '2px'
173
+ };
174
+
175
+ var _render11 = (0, _react2.render)(list({}, {
176
+ style: style
177
+ })),
178
+ container = _render11.container;
179
+
180
+ var listHeader = container.querySelector('.list-header');
181
+ expect(listHeader).toHaveStyle(style);
182
+ });
183
+ it('should apply customClass', function () {
184
+ var customClass = 'teste-listheader';
185
+
186
+ var _render12 = (0, _react2.render)(list({}, {
187
+ customClass: customClass
188
+ })),
189
+ container = _render12.container;
190
+
191
+ var listHeader = container.querySelector('.list-header');
192
+ expect(listHeader).toHaveClass(customClass);
193
+ });
194
+ it('should render children', function () {
195
+ var _render13 = (0, _react2.render)(list()),
196
+ container = _render13.container;
197
+
198
+ var listHeaderChild = container.querySelector('.list-header > .listheader-child');
199
+ expect(listHeaderChild).toBeTruthy();
200
+ });
201
+ });
202
+ describe('ListItem', function () {
203
+ it('should render correctly', function () {
204
+ var _render14 = (0, _react2.render)(list()),
205
+ container = _render14.container;
206
+
207
+ var listItem = container.querySelector('.item-container');
208
+ expect(listItem).toBeTruthy();
209
+ });
210
+ it('should apply text', function () {
211
+ var text = 'Teste Item 1';
212
+
213
+ var _render15 = (0, _react2.render)(list({}, {}, {
214
+ text: text
215
+ })),
216
+ container = _render15.container;
217
+
218
+ var listItemText = container.querySelector('.item-container .text');
219
+ expect(listItemText).toBeTruthy();
220
+ expect(listItemText).toHaveTextContent(text);
221
+ });
222
+ it('should apply subtext', function () {
223
+ var subText = 'Teste Item 1';
224
+
225
+ var _render16 = (0, _react2.render)(list({}, {}, {
226
+ subText: subText
227
+ })),
228
+ container = _render16.container;
229
+
230
+ var listItemSubText = container.querySelector('.item-container .subtext');
231
+ expect(listItemSubText).toBeTruthy();
232
+ expect(listItemSubText).toHaveTextContent(subText);
233
+ });
234
+ it('should apply style', function () {
235
+ var style = {
236
+ marginTop: '10px',
237
+ paddingBottom: '2px'
238
+ };
239
+
240
+ var _render17 = (0, _react2.render)(list({}, {}, {
241
+ style: style
242
+ })),
243
+ container = _render17.container;
244
+
245
+ var listItem = container.querySelector('.item-container');
246
+ expect(listItem).toHaveStyle(style);
247
+ });
248
+ describe('prop separator', function () {
249
+ var separator = true;
250
+ it('apply list-separator css class to text/subtext/children container', function () {
251
+ var _render18 = (0, _react2.render)(list({}, {}, {
252
+ text: 'Teste',
253
+ separator: separator
254
+ })),
255
+ container = _render18.container;
256
+
257
+ var listItemTextContainer = container.querySelector('.item-container .item');
258
+ expect(listItemTextContainer).toHaveClass('list-separator');
259
+ });
260
+ it('apply list-separator css class to leftIcon/leftElement container', function () {
261
+ var _render19 = (0, _react2.render)(list({}, {}, {
262
+ leftIconName: 'pencil',
263
+ separator: separator
264
+ })),
265
+ container = _render19.container;
266
+
267
+ var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
268
+ expect(listItemLeftElContainer).toHaveClass('list-separator');
269
+ });
270
+ it('apply list-separator css class to rightIcon/rightElement container', function () {
271
+ var _render20 = (0, _react2.render)(list({}, {}, {
272
+ rightIconName: 'pencil',
273
+ separator: separator
274
+ })),
275
+ container = _render20.container;
276
+
277
+ var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
278
+ expect(listItemRightElContainer).toHaveClass('list-separator');
279
+ });
280
+ });
281
+ it('prop hovered should apply css class hovered ', function () {
282
+ var _render21 = (0, _react2.render)(list({}, {}, {
283
+ hovered: true
284
+ })),
285
+ container = _render21.container;
286
+
287
+ var listItem = container.querySelector('.item-container');
288
+ expect(listItem).toHaveClass('hovered');
289
+ });
290
+ describe('prop disabled', function () {
291
+ var disabled = true;
292
+ it('should disable onClick event', function () {
293
+ var mockFunc = jest.fn();
294
+
295
+ var _render22 = (0, _react2.render)(list({}, {}, {
296
+ disabled: disabled,
297
+ onClick: mockFunc
298
+ })),
299
+ container = _render22.container;
300
+
301
+ var listItem = container.querySelector('.item-container');
302
+
303
+ _react2.fireEvent.click(listItem);
304
+
305
+ expect(mockFunc).not.toBeCalled();
306
+ });
307
+ it('apply disabled css class to text/subtext/children container', function () {
308
+ var _render23 = (0, _react2.render)(list({}, {}, {
309
+ text: 'Teste',
310
+ disabled: disabled
311
+ })),
312
+ container = _render23.container;
313
+
314
+ var listItemTextContainer = container.querySelector('.item-container .item');
315
+ expect(listItemTextContainer).toHaveClass('disabled');
316
+ });
317
+ it('apply disabled css class to leftIcon/leftElement container', function () {
318
+ var _render24 = (0, _react2.render)(list({}, {}, {
319
+ leftIconName: 'pencil',
320
+ disabled: disabled
321
+ })),
322
+ container = _render24.container;
323
+
324
+ var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
325
+ expect(listItemLeftElContainer).toHaveClass('disabled');
326
+ });
327
+ it('apply disabled css class to rightIcon/rightElement container', function () {
328
+ var _render25 = (0, _react2.render)(list({}, {}, {
329
+ rightIconName: 'pencil',
330
+ disabled: disabled
331
+ })),
332
+ container = _render25.container;
333
+
334
+ var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
335
+ expect(listItemRightElContainer).toHaveClass('disabled');
336
+ });
337
+ it('should hide url', function () {
338
+ var _render26 = (0, _react2.render)(list({}, {}, {
339
+ disabled: disabled,
340
+ url: 'saas'
341
+ })),
342
+ container = _render26.container;
343
+
344
+ var linkitem = container.querySelector('.linkitem');
345
+ expect(linkitem).not.toBeInTheDocument();
346
+ });
347
+ });
348
+ it('prop displayCheckbox should render Checkbox within subject', function () {
349
+ var _render27 = (0, _react2.render)(list({}, {}, {
350
+ displayCheckbox: true
351
+ })),
352
+ container = _render27.container;
353
+
354
+ var checkboxComponent = container.querySelector('.item-container .item.-icon-left .checkbox-component');
355
+ expect(checkboxComponent).toBeTruthy();
356
+ expect(checkboxComponent.name).toEqual('checkbox');
357
+ });
358
+ it('should render leftElement', function () {
359
+ var leftElement = /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
360
+ customClass: "leftElTeste"
361
+ });
362
+
363
+ var _render28 = (0, _react2.render)(list({}, {}, {
364
+ leftElement: leftElement
365
+ })),
366
+ container = _render28.container;
367
+
368
+ var leftElementHTML = container.querySelector('.item-container .item.-icon-left .leftElTeste');
369
+ expect(leftElementHTML).toBeTruthy();
370
+ });
371
+ it('should render rightElement', function () {
372
+ var rightElement = /*#__PURE__*/_react["default"].createElement(_buttons["default"], {
373
+ customClass: "rightElTeste"
374
+ });
375
+
376
+ var _render29 = (0, _react2.render)(list({}, {}, {
377
+ rightElement: rightElement
378
+ })),
379
+ container = _render29.container;
380
+
381
+ var rightElementHTML = container.querySelector('.item-container .item.-icon-right .rightElTeste');
382
+ expect(rightElementHTML).toBeTruthy();
383
+ });
384
+ it('should render leftIcon', function () {
385
+ var leftIcon = /*#__PURE__*/_react["default"].createElement(_icons["default"], {
386
+ name: "code",
387
+ customClass: "iconTeste",
388
+ size: 24,
389
+ color: "#000"
390
+ });
391
+
392
+ var _render30 = (0, _react2.render)(list({}, {}, {
393
+ leftIcon: leftIcon
394
+ })),
395
+ container = _render30.container;
396
+
397
+ var leftIconHTML = container.querySelector('.item-container .item.-icon-left .icon-component.iconTeste');
398
+ expect(leftIconHTML).toBeTruthy();
399
+ });
400
+ it('should render rightIcon', function () {
401
+ var rightIcon = /*#__PURE__*/_react["default"].createElement(_icons["default"], {
402
+ name: "code",
403
+ customClass: "iconTeste",
404
+ size: 24,
405
+ color: "#000"
406
+ });
407
+
408
+ var _render31 = (0, _react2.render)(list({}, {}, {
409
+ rightIcon: rightIcon
410
+ })),
411
+ container = _render31.container;
412
+
413
+ var rightIconHTML = container.querySelector('.item-container .item.-icon-right .icon-component.iconTeste');
414
+ expect(rightIconHTML).toBeTruthy();
415
+ });
416
+ it('prop leftIconName should render Icon', function () {
417
+ var _render32 = (0, _react2.render)(list({}, {}, {
418
+ leftIconName: 'code'
419
+ })),
420
+ container = _render32.container;
421
+
422
+ var leftIcon = container.querySelector('.item-container .item.-icon-left .icon-component');
423
+ expect(leftIcon).toBeTruthy();
424
+ });
425
+ it('prop rightIconName should render Icon', function () {
426
+ var _render33 = (0, _react2.render)(list({}, {}, {
427
+ rightIconName: 'code'
428
+ })),
429
+ container = _render33.container;
430
+
431
+ var rightIcon = container.querySelector('.item-container .item.-icon-right .icon-component');
432
+ expect(rightIcon).toBeTruthy();
433
+ });
434
+ it('should apply onClick', function () {
435
+ var mockFunc = jest.fn();
436
+ var listItemId = '1';
437
+
438
+ var mockList = /*#__PURE__*/_react["default"].createElement(_index["default"], null, /*#__PURE__*/_react["default"].createElement(_index.ListItem, {
439
+ itemId: listItemId,
440
+ text: "Teste Foo",
441
+ onClick: function onClick(_, itemId) {
442
+ return mockFunc(itemId);
443
+ }
444
+ }));
445
+
446
+ var _render34 = (0, _react2.render)(mockList),
447
+ container = _render34.container;
448
+
449
+ var listItem = container.querySelector('.item-container');
450
+
451
+ _react2.fireEvent.click(listItem);
452
+
453
+ expect(mockFunc).toBeCalledWith(listItemId);
454
+ });
455
+ describe('prop customClass', function () {
456
+ var customClass = 'customclassTeste';
457
+ it('apply customClass css class to text/subtext/children container', function () {
458
+ var _render35 = (0, _react2.render)(list({}, {}, {
459
+ text: 'Teste',
460
+ customClass: customClass
461
+ })),
462
+ container = _render35.container;
463
+
464
+ var listItemTextContainer = container.querySelector('.item-container .item');
465
+ expect(listItemTextContainer).toHaveClass(customClass);
466
+ });
467
+ it('apply customClass css class to leftIcon/leftElement container', function () {
468
+ var _render36 = (0, _react2.render)(list({}, {}, {
469
+ leftIconName: 'pencil',
470
+ customClass: customClass
471
+ })),
472
+ container = _render36.container;
473
+
474
+ var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
475
+ expect(listItemLeftElContainer).toHaveClass(customClass);
476
+ });
477
+ it('apply customClass css class to rightIcon/rightElement container', function () {
478
+ var _render37 = (0, _react2.render)(list({}, {}, {
479
+ rightIconName: 'pencil',
480
+ customClass: customClass
481
+ })),
482
+ container = _render37.container;
483
+
484
+ var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
485
+ expect(listItemRightElContainer).toHaveClass(customClass);
486
+ });
487
+ });
488
+ it('prop url should render Link', function () {
489
+ var _render38 = (0, _react2.render)(list({}, {}, {
490
+ url: 'saas'
491
+ })),
492
+ container = _render38.container;
493
+
494
+ var linkComponent = container.querySelector('.item-container .linkitem');
495
+ expect(linkComponent).toBeTruthy();
496
+ });
497
+ describe('prop visible', function () {
498
+ it('when true(default) should allow subject to render', function () {
499
+ var _render39 = (0, _react2.render)(list({}, {}, {
500
+ visible: true
501
+ })),
502
+ container = _render39.container;
503
+
504
+ var listItem = container.querySelector('.item-container');
505
+ expect(listItem).toBeTruthy();
506
+ });
507
+ it('when false should not let subject render', function () {
508
+ var _render40 = (0, _react2.render)(list({}, {}, {
509
+ visible: false
510
+ })),
511
+ container = _render40.container;
512
+
513
+ var listItem = container.querySelector('.item-container');
514
+ expect(listItem).not.toBeInTheDocument();
515
+ });
516
+ });
517
+ it('should render children', function () {
518
+ var _render41 = (0, _react2.render)(list()),
519
+ container = _render41.container;
520
+
521
+ var listItemButtonChild = container.querySelector('.item-container .childbuttontest');
522
+ expect(listItemButtonChild).toBeTruthy();
523
+ expect(listItemButtonChild).toHaveTextContent('Teste Child');
524
+ });
525
+ describe('prop permissionAttr', function () {
526
+ describe('when permission granted', function () {
527
+ it('should render subject', function () {
528
+ setSessionStorageMock();
529
+
530
+ var _render42 = (0, _react2.render)(list({}, {}, {
531
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
532
+ })),
533
+ container = _render42.container;
534
+
535
+ var listItem = container.querySelector('.item-container');
536
+ expect(listItem).toBeTruthy();
537
+ });
538
+ });
539
+ describe('when permission denied', function () {
540
+ it('onDenied.unvisible option should not render subject', function () {
541
+ setSessionStorageMock();
542
+
543
+ var _render43 = (0, _react2.render)(list({}, {}, {
544
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('unvisible')
545
+ })),
546
+ container = _render43.container;
547
+
548
+ var listItem = container.querySelector('.item-container');
549
+ expect(listItem).not.toBeInTheDocument();
550
+ });
551
+ describe('onDenied.disabled option should', function () {
552
+ var permissionProp = {
553
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
554
+ };
555
+ it('disable onClick event', function () {
556
+ var mockFunc = jest.fn();
557
+
558
+ var _render44 = (0, _react2.render)(list({}, {}, _extends({}, permissionProp, {
559
+ onClick: mockFunc
560
+ }))),
561
+ container = _render44.container;
562
+
563
+ var listItem = container.querySelector('.item-container');
564
+
565
+ _react2.fireEvent.click(listItem);
566
+
567
+ expect(mockFunc).not.toBeCalled();
568
+ });
569
+ it('apply disabled css class to text/subtext/children container', function () {
570
+ var _render45 = (0, _react2.render)(list({}, {}, _extends({
571
+ text: 'Teste'
572
+ }, permissionProp))),
573
+ container = _render45.container;
574
+
575
+ var listItemTextContainer = container.querySelector('.item-container .item');
576
+ expect(listItemTextContainer).toHaveClass('disabled');
577
+ });
578
+ it('apply disabled css class to leftIcon/leftElement container', function () {
579
+ var _render46 = (0, _react2.render)(list({}, {}, _extends({
580
+ leftIconName: 'pencil'
581
+ }, permissionProp))),
582
+ container = _render46.container;
583
+
584
+ var listItemLeftElContainer = container.querySelector('.item-container .item.-icon-left');
585
+ expect(listItemLeftElContainer).toHaveClass('disabled');
586
+ });
587
+ it('apply disabled css class to rightIcon/rightElement container', function () {
588
+ var _render47 = (0, _react2.render)(list({}, {}, _extends({
589
+ rightIconName: 'pencil'
590
+ }, permissionProp))),
591
+ container = _render47.container;
592
+
593
+ var listItemRightElContainer = container.querySelector('.item-container .item.-icon-right');
594
+ expect(listItemRightElContainer).toHaveClass('disabled');
595
+ });
596
+ it('hide url', function () {
597
+ var _render48 = (0, _react2.render)(list({}, {}, _extends({}, permissionProp, {
598
+ url: 'saas'
599
+ }))),
600
+ container = _render48.container;
601
+
602
+ var linkitem = container.querySelector('.linkitem');
603
+ expect(linkitem).not.toBeInTheDocument();
604
+ });
605
+ });
606
+ });
607
+ });
608
+ });
609
+ });