linear-react-components-ui 1.0.11-beta.2 → 1.0.11-beta.3

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 (58) hide show
  1. package/lib/alerts/alert.spec.js +110 -0
  2. package/lib/assets/styles/table.scss +1 -1
  3. package/lib/avatar/avatar.spec.js +158 -0
  4. package/lib/badge/badge.spec.js +105 -0
  5. package/lib/buttons/buttons.spec.js +430 -0
  6. package/lib/calendar/calendar.spec.js +140 -0
  7. package/lib/checkbox/checkbox.spec.js +174 -0
  8. package/lib/dialog/dialog.spec.js +415 -0
  9. package/lib/drawer/Drawer.spec.js +215 -0
  10. package/lib/dropdown/dropdown.spec.js +145 -0
  11. package/lib/fieldset/fieldset.spec.js +283 -0
  12. package/lib/form/form.spec.js +247 -0
  13. package/lib/gridlayout/gridLayout.spec.js +142 -0
  14. package/lib/icons/helper.d.ts +8 -0
  15. package/lib/icons/helper.js +8 -0
  16. package/lib/icons/icons.spec.js +70 -0
  17. package/lib/inputs/base/base.spec.js +575 -0
  18. package/lib/inputs/color/color_input.spec.js +140 -0
  19. package/lib/inputs/date/date.spec.js +273 -0
  20. package/lib/inputs/mask/input_mask.spec.js +494 -0
  21. package/lib/inputs/number/numberfield.spec.js +174 -0
  22. package/lib/inputs/search/search_input.spec.js +169 -0
  23. package/lib/inputs/select/select.spec.js +340 -0
  24. package/lib/inputs/text/textfield.spec.js +174 -0
  25. package/lib/inputs/textarea/textarea.spec.js +46 -0
  26. package/lib/labelMessages/labelMessages.spec.js +143 -0
  27. package/lib/labels/label.spec.js +135 -0
  28. package/lib/list/list.spec.js +622 -0
  29. package/lib/menus/float/float-menu.spec.js +187 -0
  30. package/lib/menus/sidenav/sidenav.spec.js +330 -0
  31. package/lib/panel/panel.spec.js +179 -0
  32. package/lib/popover/popover.spec.js +116 -0
  33. package/lib/progress/progress.spec.js +78 -0
  34. package/lib/radio/radio.spec.js +155 -0
  35. package/lib/spinner/spinner.spec.js +130 -0
  36. package/lib/split/split.spec.js +138 -0
  37. package/lib/table/RowColumn.js +2 -6
  38. package/lib/table/table.spec.js +297 -0
  39. package/lib/table/types.d.ts +0 -2
  40. package/lib/tabs/tabs.spec.js +258 -0
  41. package/lib/toolbar/toolbar.spec.js +346 -0
  42. package/lib/tooltip/tooltip.spec.js +188 -0
  43. package/lib/treeview/treeview.spec.js +242 -0
  44. package/lib/uitour/uitour.spec.js +145 -0
  45. package/package.json +1 -1
  46. package/coverage/clover.xml +0 -3971
  47. package/coverage/coverage-final.json +0 -193
  48. package/coverage/lcov-report/base.css +0 -224
  49. package/coverage/lcov-report/block-navigation.js +0 -87
  50. package/coverage/lcov-report/config/jest/index.html +0 -116
  51. package/coverage/lcov-report/config/jest/storageMock.js.html +0 -205
  52. package/coverage/lcov-report/favicon.png +0 -0
  53. package/coverage/lcov-report/index.html +0 -956
  54. package/coverage/lcov-report/prettify.css +0 -1
  55. package/coverage/lcov-report/prettify.js +0 -2
  56. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  57. package/coverage/lcov-report/sorter.js +0 -196
  58. package/coverage/lcov.info +0 -9866
@@ -0,0 +1,174 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ require("@testing-library/jest-dom/extend-expect");
7
+ var _index = _interopRequireDefault(require("./index"));
8
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
9
+ 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); }
10
+ 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; }
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ describe('NumberField', function () {
13
+ var numberField = function numberField(fieldProps) {
14
+ return /*#__PURE__*/_react.default.createElement(_index.default, fieldProps);
15
+ };
16
+ var setSessionStorageMock = function setSessionStorageMock() {
17
+ Object.defineProperty(window, 'sessionStorage', {
18
+ value: (0, _storageMock.default)()
19
+ });
20
+ };
21
+ describe('prop value should', function () {
22
+ it('be applied when is a numeric string', function () {
23
+ var value = '1';
24
+ var _render = (0, _react2.render)(numberField({
25
+ value: value
26
+ })),
27
+ container = _render.container;
28
+ var inputHTML = container.querySelector('.textinput');
29
+ expect(inputHTML.value).toBe(value);
30
+ });
31
+ it('not be applied when is not a numeric string', function () {
32
+ var value = 'sus';
33
+ var _render2 = (0, _react2.render)(numberField({
34
+ value: value
35
+ })),
36
+ container = _render2.container;
37
+ var inputHTML = container.querySelector('.textinput');
38
+ expect(inputHTML.value).toBe('');
39
+ });
40
+ });
41
+ it('should apply textAlign', function () {
42
+ var textAlign = 'left';
43
+ var _render3 = (0, _react2.render)(numberField({
44
+ textAlign: textAlign
45
+ })),
46
+ container = _render3.container;
47
+ var inputHTML = container.querySelector('.textinput');
48
+ expect(inputHTML).toHaveClass("text-align-".concat(textAlign));
49
+ });
50
+ describe('prop permissionAttr', function () {
51
+ describe('when permission granted', function () {
52
+ it('should render subject', function () {
53
+ setSessionStorageMock();
54
+ var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
55
+ var _render4 = (0, _react2.render)(numberField({
56
+ permissionAttr: permissionAttr
57
+ })),
58
+ container = _render4.container;
59
+ expect(container.querySelector('.input-base-component')).not.toBeNull();
60
+ });
61
+ });
62
+ describe('when permission denied', function () {
63
+ it('onDenied.unvisible option should not render subject', function () {
64
+ setSessionStorageMock();
65
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
66
+ var _render5 = (0, _react2.render)(numberField({
67
+ permissionAttr: permissionAttr
68
+ })),
69
+ container = _render5.container;
70
+ expect(container.querySelector('.input-base-component')).toBeNull();
71
+ });
72
+ describe('onDenied.disabled option/disabled prop should', function () {
73
+ it('disable subject', function () {
74
+ setSessionStorageMock();
75
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
76
+ var onChange = jest.fn();
77
+ var _render6 = (0, _react2.render)(numberField({
78
+ permissionAttr: permissionAttr,
79
+ onChange: onChange
80
+ })),
81
+ container = _render6.container;
82
+ var inputHTML = container.querySelector('.textinput');
83
+ _react2.fireEvent.change(inputHTML, {
84
+ target: {
85
+ value: 'sus'
86
+ }
87
+ });
88
+ expect(inputHTML.disabled).toBeTruthy();
89
+ expect(onChange).not.toBeCalled();
90
+ });
91
+ it('add -disabled css class', function () {
92
+ setSessionStorageMock();
93
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
94
+ var _render7 = (0, _react2.render)(numberField({
95
+ permissionAttr: permissionAttr
96
+ })),
97
+ container = _render7.container;
98
+ var inputWrapper = container.querySelector('.inputwrapper');
99
+ expect(inputWrapper).toHaveClass('-disabled');
100
+ });
101
+ });
102
+ describe('onDenied.readOnly option/readOnly prop should', function () {
103
+ it('apply readOnly attribute in input', function () {
104
+ setSessionStorageMock();
105
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('readOnly');
106
+ var _render8 = (0, _react2.render)(numberField({
107
+ permissionAttr: permissionAttr
108
+ })),
109
+ container = _render8.container;
110
+ var inputHTML = container.querySelector('.textinput');
111
+ expect(inputHTML.readOnly).toBeTruthy();
112
+ });
113
+ it('disable callbacks', function () {
114
+ setSessionStorageMock();
115
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('readOnly');
116
+ var onChange = jest.fn();
117
+ var _render9 = (0, _react2.render)(numberField({
118
+ permissionAttr: permissionAttr,
119
+ onChange: onChange
120
+ })),
121
+ container = _render9.container;
122
+ var inputHTML = container.querySelector('.textinput');
123
+ _react2.fireEvent.change(inputHTML, {
124
+ target: {
125
+ value: 'sus'
126
+ }
127
+ });
128
+ expect(onChange).not.toBeCalled();
129
+ });
130
+ });
131
+ describe('onDenied.hideContent should', function () {
132
+ it('should set input value to blank', function () {
133
+ setSessionStorageMock();
134
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
135
+ var _render10 = (0, _react2.render)(numberField({
136
+ permissionAttr: permissionAttr,
137
+ value: 'text'
138
+ })),
139
+ container = _render10.container;
140
+ var inputHTML = container.querySelector('.textinput');
141
+ expect(inputHTML.value).toBe('');
142
+ });
143
+ it('disable input', function () {
144
+ setSessionStorageMock();
145
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled'); // CORRIGIR?
146
+ var onChange = jest.fn();
147
+ var _render11 = (0, _react2.render)(numberField({
148
+ permissionAttr: permissionAttr,
149
+ onChange: onChange
150
+ })),
151
+ container = _render11.container;
152
+ var inputHTML = container.querySelector('.textinput');
153
+ _react2.fireEvent.change(inputHTML, {
154
+ target: {
155
+ value: 'sus'
156
+ }
157
+ });
158
+ expect(onChange).not.toBeCalled();
159
+ expect(inputHTML.disabled).toBeTruthy();
160
+ });
161
+ it('add -disabled css class', function () {
162
+ setSessionStorageMock();
163
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
164
+ var _render12 = (0, _react2.render)(numberField({
165
+ permissionAttr: permissionAttr
166
+ })),
167
+ container = _render12.container;
168
+ var inputWrapper = container.querySelector('.inputwrapper');
169
+ expect(inputWrapper).toHaveClass('-disabled');
170
+ });
171
+ });
172
+ });
173
+ });
174
+ });
@@ -0,0 +1,169 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ require("@testing-library/jest-dom/extend-expect");
7
+ var _index = _interopRequireDefault(require("./index"));
8
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
9
+ 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); }
10
+ 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; }
11
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
+ 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); }
13
+ var searchField = function searchField(fieldProps, advancedFilterProps) {
14
+ return /*#__PURE__*/_react.default.createElement(_index.default, _extends({
15
+ advancedFilterProps: _extends({}, advancedFilterProps, {
16
+ headerTitle: 'Pesquisa Avançada',
17
+ content: 'Conteúdo da Pesquisa'
18
+ })
19
+ }, fieldProps));
20
+ };
21
+ describe('SearchField', function () {
22
+ it('should render correctly', function () {
23
+ var _render = (0, _react2.render)(searchField()),
24
+ container = _render.container;
25
+ expect(container.firstChild).toBeTruthy();
26
+ });
27
+ it('should be apply value', function () {
28
+ var value = '1 ';
29
+ var _render2 = (0, _react2.render)(searchField({
30
+ value: value
31
+ })),
32
+ container = _render2.container;
33
+ var inputHTML = container.querySelector('.textinput');
34
+ expect(inputHTML.value).toBe(value);
35
+ });
36
+ it('should apply textAlign', function () {
37
+ var textAlign = 'left';
38
+ var _render3 = (0, _react2.render)(searchField({
39
+ textAlign: textAlign
40
+ })),
41
+ container = _render3.container;
42
+ var inputHTML = container.querySelector('.textinput');
43
+ expect(inputHTML).toHaveClass("text-align-".concat(textAlign));
44
+ });
45
+ it('should apply resetButton and execute onReset callback', function () {
46
+ var onReset = jest.fn();
47
+ var _render4 = (0, _react2.render)(searchField({
48
+ onReset: onReset,
49
+ resetButton: true,
50
+ value: 'foo'
51
+ })),
52
+ getAllByTestId = _render4.getAllByTestId;
53
+ _react2.fireEvent.click(getAllByTestId('icon')[0]);
54
+ expect(onReset).toBeCalled();
55
+ });
56
+ describe('advancedFilterProps', function () {
57
+ it('should drawerHeader content headerTitle', function () {
58
+ var _render5 = (0, _react2.render)(searchField()),
59
+ container = _render5.container;
60
+ var advancedFilterbuttonComponent = container.querySelector('.button-component');
61
+ _react2.fireEvent.click(advancedFilterbuttonComponent);
62
+ expect(document.querySelector('.drawerheader')).toHaveTextContent('Pesquisa Avançada');
63
+ });
64
+ it('should drawerContent to have content', function () {
65
+ var _render6 = (0, _react2.render)(searchField()),
66
+ container = _render6.container;
67
+ var drawerContentButton = container.querySelector('.button-component');
68
+ _react2.fireEvent.click(drawerContentButton);
69
+ expect(document.querySelector('.drawercontent')).toHaveTextContent('Conteúdo da Pesquisa');
70
+ });
71
+ it('should execute onStateChange on Drawer Open', function () {
72
+ var onStateChange = jest.fn();
73
+ var _render7 = (0, _react2.render)(searchField({}, {
74
+ onStateChange: onStateChange
75
+ })),
76
+ container = _render7.container;
77
+ var drawerButtonOpen = container.querySelector('.button-component');
78
+ _react2.fireEvent.click(drawerButtonOpen);
79
+ expect(onStateChange).toBeCalledTimes(1);
80
+ });
81
+ });
82
+ describe('Permission', function () {
83
+ var setSessionStorageMock = function setSessionStorageMock() {
84
+ Object.defineProperty(window, 'sessionStorage', {
85
+ value: (0, _storageMock.default)()
86
+ });
87
+ };
88
+ it('should render subject when permission granted', function () {
89
+ setSessionStorageMock();
90
+ var permissionAttr = (0, _storageMock.permissionAttrMockAuthorized)('unvisible');
91
+ var _render8 = (0, _react2.render)(searchField({
92
+ permissionAttr: permissionAttr
93
+ })),
94
+ container = _render8.container;
95
+ expect(container.querySelector('.input-base-component')).not.toBeNull();
96
+ });
97
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
98
+ setSessionStorageMock();
99
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('unvisible');
100
+ var _render9 = (0, _react2.render)(searchField({
101
+ permissionAttr: permissionAttr
102
+ })),
103
+ container = _render9.container;
104
+ expect(container.querySelector('.input-base-component')).toBeNull();
105
+ });
106
+ it('should check permission, be unavaible and onDenied is disabled', function () {
107
+ setSessionStorageMock();
108
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
109
+ var onChange = jest.fn();
110
+ var _render10 = (0, _react2.render)(searchField({
111
+ permissionAttr: permissionAttr,
112
+ onChange: onChange
113
+ })),
114
+ container = _render10.container;
115
+ var inputHTML = container.querySelector('.textinput');
116
+ var inputWrapper = container.querySelector('.inputwrapper');
117
+ _react2.fireEvent.change(inputHTML, {
118
+ target: {
119
+ value: 'sus'
120
+ }
121
+ });
122
+ expect(inputHTML.disabled).toBeTruthy();
123
+ expect(onChange).not.toBeCalled();
124
+ expect(inputWrapper).toHaveClass('-disabled');
125
+ });
126
+ it('should check permission, be unavaible and onDenied is readOnly', function () {
127
+ setSessionStorageMock();
128
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('disabled');
129
+ var onChange = jest.fn();
130
+ var _render11 = (0, _react2.render)(searchField({
131
+ permissionAttr: permissionAttr,
132
+ onChange: onChange
133
+ })),
134
+ container = _render11.container;
135
+ var inputHTML = container.querySelector('.textinput');
136
+ var inputWrapper = container.querySelector('.inputwrapper');
137
+ _react2.fireEvent.change(inputHTML, {
138
+ target: {
139
+ value: 'sus'
140
+ }
141
+ });
142
+ expect(inputHTML.disabled).toBeTruthy();
143
+ expect(onChange).not.toBeCalled();
144
+ expect(inputWrapper).toHaveClass('-disabled');
145
+ });
146
+ it('should check permission, be unavaible and onDenied is hideContent', function () {
147
+ setSessionStorageMock();
148
+ var permissionAttr = (0, _storageMock.permissionAttrMockUnauthorized)('hideContent');
149
+ var onChange = jest.fn();
150
+ var _render12 = (0, _react2.render)(searchField({
151
+ permissionAttr: permissionAttr,
152
+ onChange: onChange,
153
+ value: 'text'
154
+ })),
155
+ container = _render12.container;
156
+ var inputHTML = container.querySelector('.textinput');
157
+ var inputWrapper = container.querySelector('.inputwrapper');
158
+ _react2.fireEvent.change(inputHTML, {
159
+ target: {
160
+ value: 'sus'
161
+ }
162
+ });
163
+ expect(inputHTML.value).toBe('');
164
+ expect(inputHTML.disabled).toBeTruthy();
165
+ expect(onChange).not.toBeCalled();
166
+ expect(inputWrapper).toHaveClass('-disabled');
167
+ });
168
+ });
169
+ });
@@ -0,0 +1,340 @@
1
+ "use strict";
2
+
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
+ var _react = _interopRequireDefault(require("react"));
5
+ var _react2 = require("@testing-library/react");
6
+ var _storageMock = _interopRequireWildcard(require("../../../../config/jest/storageMock"));
7
+ var _simple = _interopRequireDefault(require("./simple"));
8
+ 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); }
9
+ 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; }
10
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
+ 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); }
12
+ var SelectFieldTest = function SelectFieldTest(props) {
13
+ var dataArray = function dataArray() {
14
+ return [{
15
+ id: '9000',
16
+ name: 'C#',
17
+ iconName: 'user_group',
18
+ imgSrcKey: ''
19
+ }, {
20
+ id: '14',
21
+ name: 'Java',
22
+ iconName: 'folder_close',
23
+ imgSrcKey: ''
24
+ }, {
25
+ id: '3',
26
+ name: 'Erlang',
27
+ iconName: 'calendar',
28
+ imgSrcKey: ''
29
+ }, {
30
+ id: '13',
31
+ name: 'Pascal',
32
+ iconName: 'config',
33
+ imgSrcKey: ''
34
+ }];
35
+ };
36
+ return /*#__PURE__*/_react.default.createElement(_simple.default, _extends({}, props, {
37
+ dataSource: dataArray(),
38
+ idKey: "id",
39
+ descriptionKey: "name",
40
+ id: "testId",
41
+ label: "testLabel",
42
+ placeHolder: "testPlaceHolder",
43
+ maxLength: 5,
44
+ hint: "testHint",
45
+ errorMessages: ['error1, error2'],
46
+ textAlign: "left",
47
+ dropdownMaxHeight: 100,
48
+ name: "test"
49
+ }));
50
+ };
51
+ describe('Select', function () {
52
+ describe('Permission', function () {
53
+ var defineStorage = function defineStorage() {
54
+ Object.defineProperty(window, 'sessionStorage', {
55
+ value: (0, _storageMock.default)()
56
+ });
57
+ };
58
+ it('should check permission', function () {
59
+ defineStorage();
60
+ var _render = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_simple.default, {
61
+ idKey: "9000",
62
+ descriptionKey: "C#",
63
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
64
+ })),
65
+ container = _render.container;
66
+ expect(container.firstChild).not.toHaveClass('-disabled');
67
+ expect(container.firstChild).toBeTruthy();
68
+ });
69
+ it('should check permission, be unavaible and onDenied is disabled', function () {
70
+ defineStorage();
71
+ var mockOnClick = jest.fn();
72
+ var mockButton = /*#__PURE__*/_react.default.createElement(_simple.default, {
73
+ idKey: "9000",
74
+ descriptionKey: "C#",
75
+ onClick: mockOnClick,
76
+ disabled: true,
77
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
78
+ });
79
+ var _render2 = (0, _react2.render)(mockButton),
80
+ container = _render2.container;
81
+ var selectComponent = container.querySelector('.inputwrapper .inputcontent .textinput');
82
+ expect(selectComponent).toHaveProperty('disabled', true);
83
+ expect(mockOnClick).toBeCalledTimes(0);
84
+ });
85
+ it('should check permission, be unavaible and onDenied is unvisible', function () {
86
+ defineStorage();
87
+ var _render3 = (0, _react2.render)( /*#__PURE__*/_react.default.createElement(_simple.default, {
88
+ idKey: "9000",
89
+ descriptionKey: "C#",
90
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('unvisible')
91
+ })),
92
+ container = _render3.container;
93
+ var inputSelect = container.querySelector('input');
94
+ expect(inputSelect).not.toBeTruthy();
95
+ });
96
+ });
97
+ describe('Default', function () {
98
+ it('should render without errors', function () {
99
+ var _render4 = (0, _react2.render)(SelectFieldTest()),
100
+ container = _render4.container;
101
+ expect(container.firstChild).toBeTruthy();
102
+ });
103
+ it('should idKey', function () {
104
+ var _render5 = (0, _react2.render)(SelectFieldTest()),
105
+ container = _render5.container;
106
+ var inputSelect = container.querySelector('input');
107
+ expect(inputSelect.id).toBe('testId');
108
+ });
109
+ it('should value', function () {
110
+ var _render6 = (0, _react2.render)(SelectFieldTest()),
111
+ container = _render6.container;
112
+ var inputSelect = container.querySelector('input');
113
+ expect(inputSelect.value).toBe('');
114
+ });
115
+ it('should multiple', function () {
116
+ var _render7 = (0, _react2.render)(SelectFieldTest()),
117
+ container = _render7.container,
118
+ getByTestId = _render7.getByTestId;
119
+ var inputContent = container.querySelector('input');
120
+ _react2.fireEvent.change(inputContent, {
121
+ target: {
122
+ value: [14, 13, 3]
123
+ }
124
+ });
125
+ expect(getByTestId('testInputContent')).toHaveClass('multiselect');
126
+ expect(getByTestId('testInputContent').querySelectorAll('.item').length >= 1);
127
+ });
128
+ it('should hint', function () {
129
+ var _render8 = (0, _react2.render)(SelectFieldTest()),
130
+ container = _render8.container;
131
+ expect(container.querySelector('p')).toHaveTextContent('testHint');
132
+ });
133
+ it('should undigitable', function () {
134
+ var _render9 = (0, _react2.render)(SelectFieldTest({
135
+ undigitable: true
136
+ })),
137
+ getByTestId = _render9.getByTestId;
138
+ expect(getByTestId('testInputWrapper')).toHaveClass('-undigitable');
139
+ });
140
+ it('should label text match with prop label', function () {
141
+ var _render10 = (0, _react2.render)(SelectFieldTest()),
142
+ container = _render10.container;
143
+ expect(container.querySelector('.select-component')).toHaveTextContent('testLabel');
144
+ });
145
+ it('should readOnly', function () {
146
+ var _render11 = (0, _react2.render)(SelectFieldTest({
147
+ readOnly: true
148
+ })),
149
+ container = _render11.container;
150
+ var inputSelect = container.querySelector('input');
151
+ expect(inputSelect.readOnly).toEqual(true);
152
+ });
153
+ it('should apply placeHolder', function () {
154
+ var _render12 = (0, _react2.render)(SelectFieldTest()),
155
+ container = _render12.container;
156
+ var inputSelect = container.querySelector('input');
157
+ expect(inputSelect.placeholder).toBe('testPlaceHolder');
158
+ });
159
+ it('should maxLength', function () {
160
+ var _render13 = (0, _react2.render)(SelectFieldTest()),
161
+ container = _render13.container;
162
+ var inputSelect = container.querySelector('input');
163
+ expect(inputSelect.maxLength).toBe(5);
164
+ });
165
+ it('should name', function () {
166
+ var _render14 = (0, _react2.render)(SelectFieldTest()),
167
+ container = _render14.container;
168
+ var inputSelect = container.querySelector('input');
169
+ expect(inputSelect.name).toBe('test');
170
+ });
171
+ it('should textAlign', function () {
172
+ var _render15 = (0, _react2.render)(SelectFieldTest()),
173
+ container = _render15.container;
174
+ var inputSelect = container.querySelector('input');
175
+ expect(inputSelect).toHaveClass('text-align-left');
176
+ });
177
+ it('should rounded', function () {
178
+ var _render16 = (0, _react2.render)(SelectFieldTest({
179
+ rounded: true
180
+ })),
181
+ getByTestId = _render16.getByTestId;
182
+ expect(getByTestId('testInputWrapper')).toHaveClass('-roundedborders');
183
+ });
184
+ it('should id', function () {
185
+ var _render17 = (0, _react2.render)(SelectFieldTest()),
186
+ container = _render17.container;
187
+ var inputSelect = container.querySelector('input');
188
+ expect(inputSelect.id).toBe('testId');
189
+ });
190
+ it('should required', function () {
191
+ var _render18 = (0, _react2.render)(SelectFieldTest({
192
+ required: true
193
+ })),
194
+ container = _render18.container;
195
+ expect(container.querySelector('.labelcontainer span span')).toHaveClass('-requiredlabel');
196
+ });
197
+ it('should errorMessages', function () {
198
+ var _render19 = (0, _react2.render)(SelectFieldTest()),
199
+ getByTestId = _render19.getByTestId;
200
+ expect(getByTestId('testInputWrapper')).toHaveClass('-requirederror');
201
+ });
202
+ it('should searchOnDropdown', function () {
203
+ var _render20 = (0, _react2.render)(SelectFieldTest({
204
+ searchOnDropdown: true
205
+ })),
206
+ getByTestId = _render20.getByTestId;
207
+ expect(getByTestId('testInputWrapper')).toHaveClass('-undigitable');
208
+ });
209
+ it('should gridLayout', function () {
210
+ var _render21 = (0, _react2.render)(SelectFieldTest({
211
+ gridLayout: '6 6 6 6'
212
+ })),
213
+ container = _render21.container;
214
+ expect(container.querySelector('div')).toHaveClass('grid-container col-xs-6 col-sm-6 col-md-6 col-lg-6');
215
+ });
216
+ it('should showClearButton', function () {
217
+ var _render22 = (0, _react2.render)(SelectFieldTest({
218
+ showClearButton: true
219
+ })),
220
+ container = _render22.container;
221
+ expect(container.querySelector('svg')).toHaveClass('icon-component iconclear');
222
+ });
223
+ it('should autoFocus', function () {
224
+ var _render23 = (0, _react2.render)(SelectFieldTest({
225
+ autoFocus: true
226
+ })),
227
+ container = _render23.container;
228
+ var inputSelect = container.querySelector('input');
229
+ expect(inputSelect.focus).toBeTruthy();
230
+ });
231
+ it('should apply disabled', function () {
232
+ var _render24 = (0, _react2.render)(SelectFieldTest({
233
+ disabled: true
234
+ })),
235
+ container = _render24.container;
236
+ var inputSelect = container.querySelector('input');
237
+ expect(inputSelect).toBeDisabled();
238
+ });
239
+ it('should apply onChange', function () {
240
+ var onChange = jest.fn();
241
+ var _render25 = (0, _react2.render)(SelectFieldTest({
242
+ onChange: onChange
243
+ })),
244
+ container = _render25.container;
245
+ var inputContent = container.querySelector('input');
246
+ _react2.fireEvent.change(inputContent, {
247
+ target: {
248
+ value: 'C#'
249
+ }
250
+ });
251
+ expect(onChange).toBeCalled();
252
+ });
253
+ it('should apply onBlur', function () {
254
+ var onBlur = jest.fn();
255
+ var _render26 = (0, _react2.render)(SelectFieldTest({
256
+ onBlur: onBlur
257
+ })),
258
+ container = _render26.container;
259
+ var inputContent = container.querySelector('input');
260
+ _react2.fireEvent.blur(inputContent);
261
+ expect(onBlur).toBeCalled();
262
+ });
263
+ it('should remoteSearch', function () {
264
+ var _render27 = (0, _react2.render)(SelectFieldTest({
265
+ remoteSearch: true
266
+ })),
267
+ container = _render27.container;
268
+ var inputContent = container.querySelector('input');
269
+ _react2.fireEvent.change(inputContent, {
270
+ target: {
271
+ value: 'test'
272
+ }
273
+ });
274
+ expect(document.querySelector('.select-dropdown')).toBeInTheDocument();
275
+ });
276
+ it('should apply onSearch', function () {
277
+ var onSearch = jest.fn();
278
+ var _render28 = (0, _react2.render)(SelectFieldTest({
279
+ remoteSearch: true,
280
+ onSearch: onSearch
281
+ })),
282
+ container = _render28.container;
283
+ var inputContent = container.querySelector('input');
284
+ _react2.fireEvent.change(inputContent, {
285
+ target: {
286
+ value: 'C#'
287
+ }
288
+ });
289
+ expect(onSearch).toBeCalled();
290
+ });
291
+ it('should descriptionKey', function () {
292
+ var _render29 = (0, _react2.render)(SelectFieldTest()),
293
+ container = _render29.container;
294
+ var inputContent = container.querySelector('input');
295
+ _react2.fireEvent.change(inputContent, {
296
+ target: {
297
+ value: 'Java'
298
+ }
299
+ });
300
+ var dropdownSelect = document.querySelector('.select-dropdown');
301
+ expect(dropdownSelect.querySelectorAll('.item')[0]).toHaveTextContent('Java');
302
+ });
303
+ it('should selectFirstOnEnter', function () {
304
+ var onFocus = jest.fn();
305
+ var _render30 = (0, _react2.render)(SelectFieldTest({
306
+ selectFirstOnEnter: true,
307
+ onFocus: onFocus,
308
+ remoteSearch: true
309
+ })),
310
+ container = _render30.container;
311
+ var inputContent = container.querySelector('input');
312
+ _react2.fireEvent.focus(inputContent);
313
+ var dropdown = document.querySelector('.select-dropdown');
314
+ expect(dropdown.firstChild).toHaveClass('-selected');
315
+ });
316
+ it('should openDropdownOnFocus', function () {
317
+ var _render31 = (0, _react2.render)(SelectFieldTest({
318
+ openDropdownOnFocus: false
319
+ })),
320
+ container = _render31.container;
321
+ var inputContent = container.querySelector('input');
322
+ (0, _react2.act)(function () {
323
+ inputContent.focus();
324
+ });
325
+ expect(container.querySelector('.dropdown')).not.toBeTruthy();
326
+ });
327
+ it('should dataSource', function () {
328
+ var _render32 = (0, _react2.render)(SelectFieldTest()),
329
+ container = _render32.container;
330
+ var inputContent = container.querySelector('input');
331
+ _react2.fireEvent.change(inputContent, {
332
+ target: {
333
+ value: 'test'
334
+ }
335
+ });
336
+ var dropdown = document.querySelector('.dropdown-component');
337
+ expect(dropdown.firstChild !== dropdown.lastChild);
338
+ });
339
+ });
340
+ });