linear-react-components-ui 1.0.10-rc.0 → 1.0.10-rc.2

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 (83) hide show
  1. package/.eslintrc.json +1 -0
  2. package/README.md +19 -12
  3. package/lib/alerts/alert.spec.js +133 -0
  4. package/lib/assets/styles/dialog.scss +9 -4
  5. package/lib/assets/styles/effects.scss +2 -2
  6. package/lib/assets/styles/radio.scss +52 -8
  7. package/lib/assets/styles/tooltip.scss +42 -2
  8. package/lib/avatar/avatar.spec.js +190 -0
  9. package/lib/badge/badge.spec.js +127 -0
  10. package/lib/buttons/DefaultButton.js +2 -1
  11. package/lib/buttons/SpinnerLoading.js +230 -0
  12. package/lib/buttons/buttons.spec.js +504 -0
  13. package/lib/buttons/types.d.ts +1 -0
  14. package/lib/calendar/calendar.spec.js +171 -0
  15. package/lib/checkbox/checkbox.spec.js +215 -0
  16. package/lib/dialog/base/Header.js +12 -1
  17. package/lib/dialog/base/index.js +73 -14
  18. package/lib/dialog/dialog.spec.js +488 -0
  19. package/lib/dialog/form/index.d.ts +4 -3
  20. package/lib/dialog/form/index.js +11 -4
  21. package/lib/dialog/types.d.ts +4 -1
  22. package/lib/drawer/Drawer.spec.js +258 -0
  23. package/lib/dropdown/Popup.js +5 -0
  24. package/lib/dropdown/dropdown.spec.js +169 -0
  25. package/lib/fieldset/fieldset.spec.js +329 -0
  26. package/lib/form/FieldArray.js +2 -2
  27. package/lib/form/form.spec.js +293 -0
  28. package/lib/gridlayout/gridLayout.spec.js +169 -0
  29. package/lib/icons/helper.d.ts +4 -0
  30. package/lib/icons/helper.js +4 -0
  31. package/lib/icons/icons.spec.js +86 -0
  32. package/lib/inputs/base/base.spec.js +690 -0
  33. package/lib/inputs/base/index.js +1 -0
  34. package/lib/inputs/color/color_input.spec.js +174 -0
  35. package/lib/inputs/date/date.spec.js +354 -0
  36. package/lib/inputs/date/helpers.d.ts +1 -1
  37. package/lib/inputs/date/helpers.js +3 -2
  38. package/lib/inputs/date/index.js +23 -9
  39. package/lib/inputs/date/types.d.ts +2 -1
  40. package/lib/inputs/mask/BaseMask.js +20 -5
  41. package/lib/inputs/mask/helpers.js +1 -1
  42. package/lib/inputs/mask/imaskHOC.js +1 -1
  43. package/lib/inputs/mask/input_mask.spec.js +607 -0
  44. package/lib/inputs/multiSelect/Dropdown.js +3 -3
  45. package/lib/inputs/multiSelect/index.js +10 -9
  46. package/lib/inputs/multiSelect/types.d.ts +4 -3
  47. package/lib/inputs/number/format_number.d.ts +2 -1
  48. package/lib/inputs/number/format_number.js +11 -2
  49. package/lib/inputs/number/numberfield.spec.js +215 -0
  50. package/lib/inputs/search/search_input.spec.js +209 -0
  51. package/lib/inputs/select/select.spec.js +395 -0
  52. package/lib/inputs/select/simple/index.js +5 -1
  53. package/lib/inputs/select/types.d.ts +1 -1
  54. package/lib/inputs/text/textfield.spec.js +215 -0
  55. package/lib/inputs/textarea/index.js +1 -1
  56. package/lib/inputs/textarea/textarea.spec.js +59 -0
  57. package/lib/internals/types.d.ts +1 -0
  58. package/lib/internals/withTooltip.js +13 -6
  59. package/lib/labelMessages/labelMessages.spec.js +176 -0
  60. package/lib/labels/label.spec.js +162 -0
  61. package/lib/list/list.spec.js +769 -0
  62. package/lib/menus/float/float-menu.spec.js +221 -0
  63. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  64. package/lib/panel/panel.spec.js +216 -0
  65. package/lib/popover/popover.spec.js +146 -0
  66. package/lib/progress/progress.spec.js +94 -0
  67. package/lib/radio/index.d.ts +2 -1
  68. package/lib/radio/index.js +3 -1
  69. package/lib/radio/radio.spec.js +189 -0
  70. package/lib/radio/types.d.ts +2 -0
  71. package/lib/spinner/spinner.spec.js +152 -0
  72. package/lib/split/split.spec.js +163 -0
  73. package/lib/table/table.spec.js +352 -0
  74. package/lib/tabs/tabs.spec.js +321 -0
  75. package/lib/toolbar/toolbar.spec.js +394 -0
  76. package/lib/tooltip/index.d.ts +1 -1
  77. package/lib/tooltip/index.js +5 -1
  78. package/lib/tooltip/tooltip.spec.js +215 -0
  79. package/lib/tooltip/types.d.ts +1 -0
  80. package/lib/treeview/index.js +1 -0
  81. package/lib/treeview/treeview.spec.js +279 -0
  82. package/lib/uitour/uitour.spec.js +176 -0
  83. package/package.json +6 -3
@@ -5,17 +5,17 @@ Object.defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
7
  exports.default = void 0;
8
- var _react = _interopRequireWildcard(require("react"));
9
8
  var _lodash = _interopRequireDefault(require("lodash"));
9
+ var _react = _interopRequireWildcard(require("react"));
10
10
  var _uuid = _interopRequireDefault(require("uuid"));
11
- var _Dropdown = _interopRequireDefault(require("./Dropdown"));
12
11
  var _InputTextBase = _interopRequireDefault(require("../base/InputTextBase"));
13
- var _helper = _interopRequireDefault(require("./helper"));
14
12
  var _ActionButtons = _interopRequireDefault(require("./ActionButtons"));
13
+ var _Dropdown = _interopRequireDefault(require("./Dropdown"));
14
+ var _helper = _interopRequireDefault(require("./helper"));
15
15
  require("../../assets/styles/multiSelect.scss");
16
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
16
  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); }
18
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
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
  function _extends() { _extends = Object.assign ? Object.assign.bind() : 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
20
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
21
21
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -124,7 +124,7 @@ var MultiSelectField = function MultiSelectField(props) {
124
124
  };
125
125
  var handleOnFilter = function handleOnFilter(currentValue) {
126
126
  var newDataCombo = dataSource;
127
- if (currentValue !== '') {
127
+ if (currentValue !== '' && dataSource) {
128
128
  newDataCombo = (0, _helper.default)({
129
129
  dataSource: dataSource,
130
130
  descriptionKey: descriptionKey,
@@ -141,7 +141,7 @@ var MultiSelectField = function MultiSelectField(props) {
141
141
  var onCheckAll = function onCheckAll() {
142
142
  var fromFilter = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
143
143
  var currentData = fromFilter ? dataCombo : dataSource;
144
- if (onSelect) onSelect(currentData.map(function (i) {
144
+ if (onSelect && currentData) onSelect(currentData.map(function (i) {
145
145
  return i[idKey];
146
146
  }));
147
147
  setSelecteds(currentData);
@@ -197,16 +197,17 @@ var MultiSelectField = function MultiSelectField(props) {
197
197
  };
198
198
  }, []);
199
199
  (0, _react.useEffect)(function () {
200
- if (dataSource.length > 0) {
200
+ if (dataSource && dataSource.length > 0) {
201
201
  var newSelecteds = dataSource.filter(function (item) {
202
202
  return value === null || value === void 0 ? void 0 : value.includes(item[idKey]);
203
203
  });
204
204
  setSelecteds(newSelecteds);
205
205
  }
206
- }, [value === null || value === void 0 ? void 0 : value.length, dataSource.length]);
206
+ }, [value === null || value === void 0 ? void 0 : value.length, dataSource === null || dataSource === void 0 ? void 0 : dataSource.length]);
207
207
  (0, _react.useEffect)(function () {
208
- if (!_lodash.default.isEqual(dataSource, dataCombo)) {
208
+ if (dataSource && dataCombo && !_lodash.default.isEqual(dataSource, dataCombo)) {
209
209
  var newDataCombo = (0, _helper.default)(_extends({}, props, {
210
+ dataSource: dataSource || undefined,
210
211
  inputText: inputValue
211
212
  }));
212
213
  setDataCombo(newDataCombo);
@@ -20,7 +20,7 @@ interface IActionButtonsProps {
20
20
  dropdownAlignButton?: 'left' | 'right';
21
21
  }
22
22
  interface IDropdownMultiSelectProps {
23
- dataCombo: DataCombo[];
23
+ dataCombo?: DataCombo[];
24
24
  idKey: string;
25
25
  descriptionKey: DescriptionKey;
26
26
  inputValue: string;
@@ -44,15 +44,16 @@ interface IDropdownMultiSelectProps {
44
44
  dropdownMaxHeight?: number;
45
45
  }
46
46
  interface IMultiSelectProps {
47
- dataSource: DataCombo[];
47
+ dataSource?: DataCombo[];
48
48
  idKey: string;
49
49
  descriptionKey: DescriptionKey;
50
50
  value?: any[];
51
51
  gridLayout?: string;
52
- onSelect: (data?: string[]) => void;
52
+ onSelect?: (data?: string[]) => void;
53
53
  onBlur?: (e: CustomInputEvent) => void;
54
54
  disabled?: boolean;
55
55
  dropdownAlignButton?: 'left' | 'right';
56
+ label?: string;
56
57
  }
57
58
 
58
59
  export { DescriptionKey, GetFilteredParams, IActionButtonsProps, IDropdownMultiSelectProps, IMultiSelectProps };
@@ -1,4 +1,5 @@
1
1
  declare const numberToPtBR: (value?: string | number) => string | undefined;
2
2
  declare const numberToEnUS: (value: string) => string | number;
3
+ declare const formatCnpjCpfField: (value: string) => string;
3
4
 
4
- export { numberToEnUS, numberToPtBR };
5
+ export { formatCnpjCpfField, numberToEnUS, numberToPtBR };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.numberToPtBR = exports.numberToEnUS = void 0;
6
+ exports.numberToPtBR = exports.numberToEnUS = exports.formatCnpjCpfField = void 0;
7
7
  var numberToPtBR = function numberToPtBR(value) {
8
8
  if (value !== undefined && typeof value === 'number') {
9
9
  return value.toLocaleString('pt-BR');
@@ -19,4 +19,13 @@ var numberToEnUS = function numberToEnUS(value) {
19
19
  }
20
20
  return value;
21
21
  };
22
- exports.numberToEnUS = numberToEnUS;
22
+ exports.numberToEnUS = numberToEnUS;
23
+ var formatCnpjCpfField = function formatCnpjCpfField(value) {
24
+ var formattedString;
25
+ if (value) {
26
+ formattedString = value.replace(/[._\-/]/g, '');
27
+ return formattedString;
28
+ }
29
+ return value;
30
+ };
31
+ exports.formatCnpjCpfField = formatCnpjCpfField;
@@ -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('NumberField', function () {
22
+ var numberField = function numberField(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)(numberField({
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)(numberField({
48
+ value: value
49
+ })),
50
+ container = _render2.container;
51
+
52
+ var inputHTML = container.querySelector('.textinput');
53
+ expect(inputHTML.value).toBe('');
54
+ });
55
+ });
56
+ it('should apply textAlign', function () {
57
+ var textAlign = 'left';
58
+
59
+ var _render3 = (0, _react2.render)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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)(numberField({
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
+ });
@@ -0,0 +1,209 @@
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
+ 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); }
22
+
23
+ var searchField = function searchField(fieldProps, advancedFilterProps) {
24
+ return /*#__PURE__*/_react.default.createElement(_index.default, _extends({
25
+ advancedFilterProps: _extends({
26
+ headerTitle: 'Pesquisa Avançada',
27
+ content: 'Conteúdo da Pesquisa'
28
+ }, advancedFilterProps)
29
+ }, fieldProps));
30
+ };
31
+
32
+ describe('SearchField', function () {
33
+ it('should render correctly', function () {
34
+ var _render = (0, _react2.render)(searchField()),
35
+ container = _render.container;
36
+
37
+ expect(container.firstChild).toBeTruthy();
38
+ });
39
+ it('should be apply value', function () {
40
+ var value = '1 ';
41
+
42
+ var _render2 = (0, _react2.render)(searchField({
43
+ value: value
44
+ })),
45
+ container = _render2.container;
46
+
47
+ var inputHTML = container.querySelector('.textinput');
48
+ expect(inputHTML.value).toBe(value);
49
+ });
50
+ it('should apply textAlign', function () {
51
+ var textAlign = 'left';
52
+
53
+ var _render3 = (0, _react2.render)(searchField({
54
+ textAlign: textAlign
55
+ })),
56
+ container = _render3.container;
57
+
58
+ var inputHTML = container.querySelector('.textinput');
59
+ expect(inputHTML).toHaveClass("text-align-".concat(textAlign));
60
+ });
61
+ it('should apply resetButton and execute onReset callback', function () {
62
+ var onReset = jest.fn();
63
+
64
+ var _render4 = (0, _react2.render)(searchField({
65
+ onReset: onReset,
66
+ resetButton: true,
67
+ value: 'foo'
68
+ })),
69
+ getAllByTestId = _render4.getAllByTestId;
70
+
71
+ _react2.fireEvent.click(getAllByTestId('icon')[0]);
72
+
73
+ expect(onReset).toBeCalled();
74
+ });
75
+ describe('advancedFilterProps', function () {
76
+ it('should drawerHeader content headerTitle', function () {
77
+ var _render5 = (0, _react2.render)(searchField()),
78
+ container = _render5.container;
79
+
80
+ _react2.fireEvent.click(container.querySelector('.button-component'));
81
+
82
+ expect(document.querySelector('.drawerheader')).toHaveTextContent('Pesquisa Avançada');
83
+ });
84
+ it('should drawerContent to have content', function () {
85
+ var _render6 = (0, _react2.render)(searchField()),
86
+ container = _render6.container;
87
+
88
+ _react2.fireEvent.click(container.querySelector('.button-component'));
89
+
90
+ expect(document.querySelector('.drawercontent')).toHaveTextContent('Conteúdo da Pesquisa');
91
+ });
92
+ it('should execute onStateChange on Drawer Open', function () {
93
+ var onStateChange = jest.fn();
94
+
95
+ var _render7 = (0, _react2.render)(searchField({}, {
96
+ onStateChange: onStateChange
97
+ })),
98
+ container = _render7.container;
99
+
100
+ _react2.fireEvent.click(container.querySelector('.button-component'));
101
+
102
+ expect(onStateChange).toBeCalledTimes(1);
103
+ });
104
+ });
105
+ describe('Permission', function () {
106
+ var setSessionStorageMock = function setSessionStorageMock() {
107
+ Object.defineProperty(window, 'sessionStorage', {
108
+ value: (0, _storageMock.default)()
109
+ });
110
+ };
111
+
112
+ it('should render subject when permission granted', function () {
113
+ setSessionStorageMock();
114
+ var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
115
+
116
+ var _render8 = (0, _react2.render)(searchField({
117
+ permissionAttr: permissionAttr
118
+ })),
119
+ container = _render8.container;
120
+
121
+ expect(container.querySelector('.input-base-component')).not.toBeNull();
122
+ });
123
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
124
+ setSessionStorageMock();
125
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
126
+
127
+ var _render9 = (0, _react2.render)(searchField({
128
+ permissionAttr: permissionAttr
129
+ })),
130
+ container = _render9.container;
131
+
132
+ expect(container.querySelector('.input-base-component')).toBeNull();
133
+ });
134
+ it('should check permission, be unavaible and onDenied is disabled', function () {
135
+ setSessionStorageMock();
136
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
137
+ var onChange = jest.fn();
138
+
139
+ var _render10 = (0, _react2.render)(searchField({
140
+ permissionAttr: permissionAttr,
141
+ onChange: onChange
142
+ })),
143
+ container = _render10.container;
144
+
145
+ var inputHTML = container.querySelector('.textinput');
146
+ var inputWrapper = container.querySelector('.inputwrapper');
147
+
148
+ _react2.fireEvent.change(inputHTML, {
149
+ target: {
150
+ value: 'sus'
151
+ }
152
+ });
153
+
154
+ expect(inputHTML.disabled).toBeTruthy();
155
+ expect(onChange).not.toBeCalled();
156
+ expect(inputWrapper).toHaveClass('-disabled');
157
+ });
158
+ it('should check permission, be unavaible and onDenied is readOnly', function () {
159
+ setSessionStorageMock();
160
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
161
+ var onChange = jest.fn();
162
+
163
+ var _render11 = (0, _react2.render)(searchField({
164
+ permissionAttr: permissionAttr,
165
+ onChange: onChange
166
+ })),
167
+ container = _render11.container;
168
+
169
+ var inputHTML = container.querySelector('.textinput');
170
+ var inputWrapper = container.querySelector('.inputwrapper');
171
+
172
+ _react2.fireEvent.change(inputHTML, {
173
+ target: {
174
+ value: 'sus'
175
+ }
176
+ });
177
+
178
+ expect(inputHTML.disabled).toBeTruthy();
179
+ expect(onChange).not.toBeCalled();
180
+ expect(inputWrapper).toHaveClass('-disabled');
181
+ });
182
+ it('should check permission, be unavaible and onDenied is hideContent', function () {
183
+ setSessionStorageMock();
184
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
185
+ var onChange = jest.fn();
186
+
187
+ var _render12 = (0, _react2.render)(searchField({
188
+ permissionAttr: permissionAttr,
189
+ onChange: onChange,
190
+ value: 'text'
191
+ })),
192
+ container = _render12.container;
193
+
194
+ var inputHTML = container.querySelector('.textinput');
195
+ var inputWrapper = container.querySelector('.inputwrapper');
196
+
197
+ _react2.fireEvent.change(inputHTML, {
198
+ target: {
199
+ value: 'sus'
200
+ }
201
+ });
202
+
203
+ expect(inputHTML.value).toBe('');
204
+ expect(inputHTML.disabled).toBeTruthy();
205
+ expect(onChange).not.toBeCalled();
206
+ expect(inputWrapper).toHaveClass('-disabled');
207
+ });
208
+ });
209
+ });