linear-react-components-ui 1.0.5 → 1.0.7

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 (45) hide show
  1. package/lib/alerts/alert.spec.js +133 -0
  2. package/lib/avatar/avatar.spec.js +190 -0
  3. package/lib/badge/badge.spec.js +127 -0
  4. package/lib/buttons/SpinnerLoading.js +230 -0
  5. package/lib/buttons/buttons.spec.js +504 -0
  6. package/lib/calendar/calendar.spec.js +171 -0
  7. package/lib/checkbox/checkbox.spec.js +215 -0
  8. package/lib/dialog/dialog.spec.js +488 -0
  9. package/lib/drawer/Drawer.spec.js +258 -0
  10. package/lib/dropdown/dropdown.spec.js +168 -0
  11. package/lib/fieldset/fieldset.spec.js +329 -0
  12. package/lib/form/form.spec.js +293 -0
  13. package/lib/gridlayout/gridLayout.spec.js +169 -0
  14. package/lib/icons/helper.d.ts +18 -2
  15. package/lib/icons/helper.js +18 -2
  16. package/lib/icons/icons.spec.js +86 -0
  17. package/lib/inputs/base/base.spec.js +690 -0
  18. package/lib/inputs/base/index.js +1 -0
  19. package/lib/inputs/color/color_input.spec.js +174 -0
  20. package/lib/inputs/date/date.spec.js +354 -0
  21. package/lib/inputs/date/helper.js +16 -0
  22. package/lib/inputs/mask/input_mask.spec.js +607 -0
  23. package/lib/inputs/number/numberfield.spec.js +215 -0
  24. package/lib/inputs/search/search_input.spec.js +209 -0
  25. package/lib/inputs/select/select.spec.js +391 -0
  26. package/lib/inputs/text/textfield.spec.js +215 -0
  27. package/lib/inputs/textarea/textarea.spec.js +59 -0
  28. package/lib/labelMessages/labelMessages.spec.js +176 -0
  29. package/lib/labels/label.spec.js +162 -0
  30. package/lib/list/list.spec.js +768 -0
  31. package/lib/menus/float/float-menu.spec.js +221 -0
  32. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  33. package/lib/panel/panel.spec.js +216 -0
  34. package/lib/popover/popover.spec.js +146 -0
  35. package/lib/progress/progress.spec.js +86 -0
  36. package/lib/radio/radio.spec.js +189 -0
  37. package/lib/spinner/spinner.spec.js +152 -0
  38. package/lib/split/split.spec.js +151 -0
  39. package/lib/table/table.spec.js +352 -0
  40. package/lib/tabs/tabs.spec.js +349 -0
  41. package/lib/toolbar/toolbar.spec.js +394 -0
  42. package/lib/tooltip/tooltip.spec.js +203 -0
  43. package/lib/treeview/treeview.spec.js +279 -0
  44. package/lib/uitour/uitour.spec.js +176 -0
  45. package/package.json +1 -1
@@ -0,0 +1,216 @@
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("babel-polyfill");
10
+
11
+ require("@testing-library/jest-dom");
12
+
13
+ var _ = _interopRequireWildcard(require("."));
14
+
15
+ var _icons = _interopRequireDefault(require("../icons"));
16
+
17
+ var _storageMock = _interopRequireWildcard(require("../../../config/jest/storageMock"));
18
+
19
+ 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); }
20
+
21
+ 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; }
22
+
23
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
24
+
25
+ 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); }
26
+
27
+ var panelMockRender = function panelMockRender(panelProps, panelHeaderProps, panelBodyProps) {
28
+ return /*#__PURE__*/_react["default"].createElement(_["default"], panelProps, /*#__PURE__*/_react["default"].createElement(_.PanelHeader, _extends({
29
+ title: "Painel de exemplo"
30
+ }, panelHeaderProps), /*#__PURE__*/_react["default"].createElement("div", {
31
+ className: "panel-header-content"
32
+ }, "HeaderContent")), /*#__PURE__*/_react["default"].createElement(_.PanelContent, panelBodyProps, "PANEL CONTENT"));
33
+ };
34
+
35
+ describe('Panel', function () {
36
+ describe('Default', function () {
37
+ it('should render without errors', function () {
38
+ var _render = (0, _react2.render)(panelMockRender()),
39
+ container = _render.container;
40
+
41
+ expect(container.firstChild).toBeTruthy();
42
+ });
43
+ it('should render panelHeader Title', function () {
44
+ var _render2 = (0, _react2.render)(panelMockRender()),
45
+ container = _render2.container;
46
+
47
+ expect(container.querySelector('.panel-header h1.title')).toHaveTextContent('Painel de exemplo');
48
+ });
49
+ it('should render panelContent content', function () {
50
+ var _render3 = (0, _react2.render)(panelMockRender()),
51
+ container = _render3.container;
52
+
53
+ expect(container.querySelector('.panel-content')).toHaveTextContent('PANEL CONTENT');
54
+ });
55
+ it('should apply panel content customClass', function () {
56
+ var _render4 = (0, _react2.render)(panelMockRender({}, {}, {
57
+ customClass: 'customClass'
58
+ })),
59
+ container = _render4.container;
60
+
61
+ expect(container.querySelector('.panel-content')).toHaveClass('customClass');
62
+ });
63
+ it('should apply panel custom style', function () {
64
+ var _render5 = (0, _react2.render)(panelMockRender({}, {}, {
65
+ style: {
66
+ height: '150px',
67
+ overflow: 'auto'
68
+ }
69
+ })),
70
+ container = _render5.container;
71
+
72
+ expect(container.querySelector('.panel-content')).toHaveStyle('height: 150px');
73
+ expect(container.querySelector('.panel-content')).toHaveStyle('overflow: auto');
74
+ });
75
+ it('should render header content', function () {
76
+ var _render6 = (0, _react2.render)(panelMockRender()),
77
+ container = _render6.container;
78
+
79
+ expect(container.querySelector('.panel-header .panel-header-content')).toBeTruthy();
80
+ expect(container.querySelector('.panel-header .panel-header-content')).toHaveTextContent('HeaderContent');
81
+ });
82
+ it('should render header icon', function () {
83
+ var _render7 = (0, _react2.render)(panelMockRender({}, {
84
+ titleIcon: 'user'
85
+ })),
86
+ container = _render7.container;
87
+
88
+ expect(container.querySelector('.panel-header svg.icon-component')).toBeTruthy();
89
+ });
90
+ it('should render header icon component', function () {
91
+ var _render8 = (0, _react2.render)(panelMockRender({}, {
92
+ icon: /*#__PURE__*/_react["default"].createElement(_icons["default"], {
93
+ name: "user"
94
+ })
95
+ })),
96
+ container = _render8.container;
97
+
98
+ expect(container.querySelector('.panel-header svg.icon-component')).toBeTruthy();
99
+ });
100
+ it('should apply header customClass', function () {
101
+ var _render9 = (0, _react2.render)(panelMockRender({}, {
102
+ customClass: 'customClass'
103
+ })),
104
+ container = _render9.container;
105
+
106
+ expect(container.querySelector('.panel-header')).toHaveClass('customClass');
107
+ });
108
+ it('should apply header style prop', function () {
109
+ var _render10 = (0, _react2.render)(panelMockRender({}, {
110
+ style: {
111
+ background: '#000'
112
+ }
113
+ })),
114
+ container = _render10.container;
115
+
116
+ expect(container.querySelector('.panel-header')).toHaveStyle('background: #000');
117
+ });
118
+ it('should apply header title styleForTitle', function () {
119
+ var _render11 = (0, _react2.render)(panelMockRender({}, {
120
+ styleForTitle: {
121
+ fontSize: 20
122
+ }
123
+ })),
124
+ container = _render11.container;
125
+
126
+ expect(container.querySelector('.panel-header .title')).toHaveStyle('font-size: 20px');
127
+ });
128
+ it('should apply header title customClassForTitle', function () {
129
+ var _render12 = (0, _react2.render)(panelMockRender({}, {
130
+ customClassForTitle: 'customClassForTitle'
131
+ })),
132
+ container = _render12.container;
133
+
134
+ expect(container.querySelector('.panel-header .title')).toHaveClass('customClassForTitle');
135
+ });
136
+ it('should apply class to remove header background color', function () {
137
+ var _render13 = (0, _react2.render)(panelMockRender({}, {
138
+ headerColored: false
139
+ })),
140
+ container = _render13.container;
141
+
142
+ expect(container.querySelector('.panel-header')).toHaveClass('-uncolored');
143
+ });
144
+ it('should apply customClass panel', function () {
145
+ var _render14 = (0, _react2.render)(panelMockRender({
146
+ customClass: 'customClass'
147
+ })),
148
+ container = _render14.container;
149
+
150
+ expect(container.querySelector('.panel-component')).toHaveClass('customClass');
151
+ });
152
+ it('should apply style panel', function () {
153
+ var _render15 = (0, _react2.render)(panelMockRender({
154
+ style: {
155
+ height: 200
156
+ }
157
+ })),
158
+ container = _render15.container;
159
+
160
+ expect(container.querySelector('.panel-component')).toHaveStyle('height: 200px');
161
+ });
162
+ it('should apply prop startOpened', function () {
163
+ var _render16 = (0, _react2.render)(panelMockRender({
164
+ startOpened: false
165
+ })),
166
+ container = _render16.container;
167
+
168
+ expect(container.querySelector('.panel-content')).not.toBeInTheDocument();
169
+ });
170
+ it('should apply prop toggleable', function () {
171
+ var _render17 = (0, _react2.render)(panelMockRender({
172
+ toggleable: true
173
+ })),
174
+ container = _render17.container;
175
+
176
+ expect(container.querySelector('.panel-header .btn-container')).toBeInTheDocument();
177
+ expect(container.querySelector('.panel-content')).toBeInTheDocument();
178
+
179
+ _react2.fireEvent.click(container.querySelector('.panel-header .btn-container button'));
180
+
181
+ expect(container.querySelector('.panel-content')).not.toBeInTheDocument();
182
+ });
183
+ it('should apply prop gridCols', function () {
184
+ var _render18 = (0, _react2.render)(panelMockRender({
185
+ gridCols: '6 6 6 6'
186
+ })),
187
+ container = _render18.container;
188
+
189
+ expect(container.querySelector('.grid-container')).toBeInTheDocument();
190
+ });
191
+ it('should check permission', function () {
192
+ Object.defineProperty(window, 'sessionStorage', {
193
+ value: (0, _storageMock["default"])()
194
+ });
195
+
196
+ var _render19 = (0, _react2.render)(panelMockRender({
197
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('hideContent')
198
+ })),
199
+ container = _render19.container;
200
+
201
+ expect(container.querySelector('.no-permission-component')).not.toBeInTheDocument();
202
+ });
203
+ it('should check permission and be unavailable', function () {
204
+ Object.defineProperty(window, 'sessionStorage', {
205
+ value: (0, _storageMock["default"])()
206
+ });
207
+
208
+ var _render20 = (0, _react2.render)(panelMockRender({
209
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('hideContent')
210
+ })),
211
+ container = _render20.container;
212
+
213
+ expect(container.querySelector('.no-permission-component')).toBeInTheDocument();
214
+ });
215
+ });
216
+ });
@@ -0,0 +1,146 @@
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 _ = _interopRequireWildcard(require("."));
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 mockPopover = function mockPopover(props) {
22
+ return /*#__PURE__*/_react["default"].createElement(_["default"], _extends({
23
+ customClass: "mockPopover",
24
+ iconName: "user",
25
+ iconColor: "red",
26
+ iconSize: 24
27
+ }, props), /*#__PURE__*/_react["default"].createElement(_.PopoverTitle, null, "Site Linear"), /*#__PURE__*/_react["default"].createElement(_.PopoverText, null, "Acesse linearsistemas.com.br/sgweb"));
28
+ };
29
+
30
+ describe('Popover', function () {
31
+ it('should render correctly', function () {
32
+ var _render = (0, _react2.render)(mockPopover()),
33
+ container = _render.container;
34
+
35
+ expect(container.firstChild).toBeTruthy();
36
+ });
37
+ it('should show dropdown on click', function () {
38
+ var _render2 = (0, _react2.render)(mockPopover()),
39
+ container = _render2.container,
40
+ getByTestId = _render2.getByTestId;
41
+
42
+ _react2.fireEvent.click(container.firstChild);
43
+
44
+ var getPopover = getByTestId('popover-container');
45
+ expect(getPopover).toBeInTheDocument();
46
+ expect(getPopover).toContainElement(getPopover.querySelector('.title'));
47
+ expect(getPopover).toContainElement(getPopover.querySelector('.text'));
48
+ });
49
+ it('should change dropdown align to left', function () {
50
+ var _render3 = (0, _react2.render)(mockPopover()),
51
+ container = _render3.container,
52
+ getByTestId = _render3.getByTestId;
53
+
54
+ _react2.fireEvent.click(container.firstChild);
55
+
56
+ expect(getByTestId('dropdown-component')).toHaveStyle('left: 0;');
57
+ });
58
+ it('should change dropdown align to right', function () {
59
+ var _render4 = (0, _react2.render)(mockPopover({
60
+ align: 'right'
61
+ })),
62
+ container = _render4.container,
63
+ getByTestId = _render4.getByTestId;
64
+
65
+ _react2.fireEvent.click(container.firstChild);
66
+
67
+ expect(getByTestId('dropdown-component')).toHaveStyle('right: 1020px;');
68
+ });
69
+ it('should apply custom class', function () {
70
+ var _render5 = (0, _react2.render)(mockPopover()),
71
+ container = _render5.container,
72
+ getByTestId = _render5.getByTestId;
73
+
74
+ _react2.fireEvent.click(container.firstChild);
75
+
76
+ expect(getByTestId('popover-container')).toHaveClass('mockPopover');
77
+ });
78
+ it('should render icon by iconName', function () {
79
+ var _render6 = (0, _react2.render)(mockPopover()),
80
+ container = _render6.container,
81
+ getByTestId = _render6.getByTestId;
82
+
83
+ expect(container.firstChild).toContainElement(getByTestId('icon'));
84
+ });
85
+ it('should change icon color', function () {
86
+ var _render7 = (0, _react2.render)(mockPopover()),
87
+ getByTestId = _render7.getByTestId;
88
+
89
+ expect(getByTestId('icon')).toHaveAttribute('fill', 'red');
90
+ });
91
+ it('should change icon size', function () {
92
+ var _render8 = (0, _react2.render)(mockPopover()),
93
+ getByTestId = _render8.getByTestId;
94
+
95
+ expect(getByTestId('icon')).toHaveAttribute('width', '24px');
96
+ expect(getByTestId('icon')).toHaveAttribute('height', '24px');
97
+ });
98
+ it('should apply dark theme', function () {
99
+ var _render9 = (0, _react2.render)(mockPopover()),
100
+ container = _render9.container,
101
+ getByTestId = _render9.getByTestId;
102
+
103
+ _react2.fireEvent.click(container.firstChild);
104
+
105
+ expect(getByTestId('popover-container')).toHaveClass('-dark');
106
+ });
107
+ it('should apply light theme', function () {
108
+ var _render10 = (0, _react2.render)(mockPopover({
109
+ theme: 'light'
110
+ })),
111
+ container = _render10.container,
112
+ getByTestId = _render10.getByTestId;
113
+
114
+ _react2.fireEvent.click(container.firstChild);
115
+
116
+ expect(getByTestId('popover-container')).toHaveClass('-light');
117
+ });
118
+ describe('PopoverText', function () {
119
+ it('should render children', function () {
120
+ var _render11 = (0, _react2.render)(mockPopover({
121
+ theme: 'light'
122
+ })),
123
+ container = _render11.container,
124
+ getByTestId = _render11.getByTestId;
125
+
126
+ _react2.fireEvent.click(container.firstChild);
127
+
128
+ var getPopover = getByTestId('popover-container');
129
+ expect(getPopover.querySelector('.text')).toHaveTextContent('Acesse linearsistemas.com.br/sgweb');
130
+ });
131
+ });
132
+ describe('PopoverTitle', function () {
133
+ it('should render children', function () {
134
+ var _render12 = (0, _react2.render)(mockPopover({
135
+ theme: 'light'
136
+ })),
137
+ container = _render12.container,
138
+ getByTestId = _render12.getByTestId;
139
+
140
+ _react2.fireEvent.click(container.firstChild);
141
+
142
+ var getPopover = getByTestId('popover-container');
143
+ expect(getPopover.querySelector('.title')).toHaveTextContent('Site Linear');
144
+ });
145
+ });
146
+ });
@@ -0,0 +1,86 @@
1
+ "use strict";
2
+
3
+ var _react = require("@testing-library/react");
4
+
5
+ var _react2 = _interopRequireDefault(require("react"));
6
+
7
+ var _progress = _interopRequireDefault(require("../progress"));
8
+
9
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
10
+
11
+ 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); }
12
+
13
+ var ProgressTest = function ProgressTest(props) {
14
+ return /*#__PURE__*/_react2["default"].createElement(_progress["default"], _extends({}, props, {
15
+ label: "test",
16
+ type: "success",
17
+ min: 0,
18
+ max: 100,
19
+ value: 50
20
+ }));
21
+ };
22
+
23
+ describe('Progress', function () {
24
+ describe('Default', function () {
25
+ it('should render without errors', function () {
26
+ var _render = (0, _react.render)(ProgressTest()),
27
+ container = _render.container;
28
+
29
+ expect(container.firstChild).toBeTruthy();
30
+ });
31
+ it('should label text match with prop label', function () {
32
+ var _render2 = (0, _react.render)(ProgressTest()),
33
+ container = _render2.container;
34
+
35
+ expect(container.querySelector('.bar')).toHaveTextContent('test');
36
+ });
37
+ it('should container have value', function () {
38
+ var _render3 = (0, _react.render)(ProgressTest()),
39
+ getByRole = _render3.getByRole;
40
+
41
+ expect(getByRole('progressbar')).toHaveAttribute('aria-valuenow', '50');
42
+ });
43
+ it('should progress have value min', function () {
44
+ var _render4 = (0, _react.render)(ProgressTest()),
45
+ getByRole = _render4.getByRole;
46
+
47
+ expect(getByRole('progressbar')).toHaveAttribute('aria-valuemin', '0');
48
+ });
49
+ it('should progress have value max', function () {
50
+ var _render5 = (0, _react.render)(ProgressTest()),
51
+ getByRole = _render5.getByRole;
52
+
53
+ expect(getByRole('progressbar')).toHaveAttribute('aria-valuemax', '100');
54
+ });
55
+ it('should showLabel', function () {
56
+ var _render6 = (0, _react.render)(ProgressTest({
57
+ showLabel: false
58
+ })),
59
+ getByRole = _render6.getByRole;
60
+
61
+ expect(getByRole('progressbar')).not.toHaveTextContent('test');
62
+ });
63
+ it('should progress have type', function () {
64
+ var _render7 = (0, _react.render)(ProgressTest()),
65
+ getByRole = _render7.getByRole;
66
+
67
+ expect(getByRole('progressbar')).toHaveClass('-success');
68
+ });
69
+ it('should effect', function () {
70
+ var _render8 = (0, _react.render)(ProgressTest({
71
+ effect: true
72
+ })),
73
+ getByRole = _render8.getByRole;
74
+
75
+ expect(getByRole('progressbar')).toHaveClass('--effect');
76
+ });
77
+ it('should animated', function () {
78
+ var _render9 = (0, _react.render)(ProgressTest({
79
+ animated: true
80
+ })),
81
+ getByRole = _render9.getByRole;
82
+
83
+ expect(getByRole('progressbar')).toHaveClass('--animated');
84
+ });
85
+ });
86
+ });
@@ -0,0 +1,189 @@
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 = require("@testing-library/react");
6
+
7
+ var _react2 = _interopRequireWildcard(require("react"));
8
+
9
+ require("babel-polyfill");
10
+
11
+ var _ = _interopRequireDefault(require("."));
12
+
13
+ var _storageMock = _interopRequireWildcard(require("../../../config/jest/storageMock"));
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
16
+
17
+ 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
+
19
+ 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; }
20
+
21
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
22
+
23
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
24
+
25
+ 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); }
26
+
27
+ var radioMockRender = function radioMockRender(props) {
28
+ return /*#__PURE__*/_react2["default"].createElement(_react2.Fragment, null, /*#__PURE__*/_react2["default"].createElement(_["default"], _extends({
29
+ name: "test",
30
+ label: "C#",
31
+ value: "5",
32
+ id: "c#-lang"
33
+ }, props)), /*#__PURE__*/_react2["default"].createElement(_["default"], {
34
+ name: "test",
35
+ label: "RUBY",
36
+ value: "6",
37
+ id: "ruby-lang"
38
+ }), /*#__PURE__*/_react2["default"].createElement(_["default"], {
39
+ name: "test",
40
+ label: "JAVA",
41
+ value: "7",
42
+ id: "java-lang"
43
+ }), /*#__PURE__*/_react2["default"].createElement(_["default"], {
44
+ name: "test",
45
+ label: "Disabled",
46
+ value: "8",
47
+ id: "disabled-lang"
48
+ }));
49
+ };
50
+
51
+ describe('Radio', function () {
52
+ describe('Default', function () {
53
+ it('should render without errors', function () {
54
+ var _render = (0, _react.render)(radioMockRender()),
55
+ container = _render.container;
56
+
57
+ expect(container.firstChild).toBeTruthy();
58
+ });
59
+ it('should render 4 radio buttons', function () {
60
+ var _render2 = (0, _react.render)(radioMockRender()),
61
+ container = _render2.container;
62
+
63
+ expect(container.querySelectorAll('.radio-button').length).toBe(4);
64
+ });
65
+ it('radio element should have a input and label', function () {
66
+ var _render3 = (0, _react.render)(radioMockRender()),
67
+ container = _render3.container;
68
+
69
+ expect(container.querySelector('.radio-button input')).toBeTruthy();
70
+ expect(container.querySelector('.radio-button label')).toBeTruthy();
71
+ });
72
+ it('should label text match with prop label', function () {
73
+ var _render4 = (0, _react.render)(radioMockRender()),
74
+ container = _render4.container;
75
+
76
+ expect(container.querySelector('.radio-button label')).toHaveTextContent('C#');
77
+ });
78
+ it('should input have type radio', function () {
79
+ var _render5 = (0, _react.render)(radioMockRender()),
80
+ container = _render5.container;
81
+
82
+ expect(container.querySelector('.radio-button input').type).toBe('radio');
83
+ });
84
+ it('should input have id from props', function () {
85
+ var _render6 = (0, _react.render)(radioMockRender()),
86
+ container = _render6.container;
87
+
88
+ expect(container.querySelector('.radio-button input').id).toBe('c#-lang');
89
+ });
90
+ it('should input have name test', function () {
91
+ var _render7 = (0, _react.render)(radioMockRender()),
92
+ container = _render7.container;
93
+
94
+ expect(container.querySelector('.radio-button input').name).toBe('test');
95
+ });
96
+ it('should input have value', function () {
97
+ var _render8 = (0, _react.render)(radioMockRender()),
98
+ container = _render8.container;
99
+
100
+ expect(container.querySelector('.radio-button input').value).toBe('5');
101
+ });
102
+ it('should change checked', function () {
103
+ var _render9 = (0, _react.render)(radioMockRender()),
104
+ container = _render9.container;
105
+
106
+ expect(container.querySelector('.radio-button input').checked).toEqual(false);
107
+
108
+ _react.fireEvent.click(container.querySelector('.radio-button label'));
109
+
110
+ expect(container.querySelector('.radio-button input').checked).toEqual(true);
111
+ });
112
+ it('should start default Checked', function () {
113
+ var _render10 = (0, _react.render)(radioMockRender({
114
+ defaultChecked: true
115
+ })),
116
+ container = _render10.container;
117
+
118
+ expect(container.querySelector('.radio-button input').checked).toEqual(true);
119
+ });
120
+ it('should fire onChange callback', function () {
121
+ var mockOnClick = jest.fn();
122
+
123
+ var _render11 = (0, _react.render)(radioMockRender({
124
+ onChange: mockOnClick
125
+ })),
126
+ container = _render11.container;
127
+
128
+ _react.fireEvent.click(container.querySelector('.radio-button label'));
129
+
130
+ expect(mockOnClick).toBeCalledTimes(1);
131
+ });
132
+ it('should disable', function () {
133
+ var _render12 = (0, _react.render)(radioMockRender({
134
+ disabled: true
135
+ })),
136
+ container = _render12.container;
137
+
138
+ expect(container.querySelector('.radio-button input').checked).toEqual(false);
139
+
140
+ _react.fireEvent.click(container.querySelector('.radio-button label'));
141
+
142
+ expect(container.querySelector('.radio-button input').checked).toEqual(false);
143
+ });
144
+ it('should check permittion', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
145
+ var _render13, container;
146
+
147
+ return regeneratorRuntime.wrap(function _callee$(_context) {
148
+ while (1) {
149
+ switch (_context.prev = _context.next) {
150
+ case 0:
151
+ Object.defineProperty(window, 'sessionStorage', {
152
+ value: (0, _storageMock["default"])()
153
+ });
154
+ _render13 = (0, _react.render)(radioMockRender({
155
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('disabled')
156
+ })), container = _render13.container;
157
+ expect(container.querySelector('.radio-button input')).not.toBeDisabled();
158
+
159
+ case 3:
160
+ case "end":
161
+ return _context.stop();
162
+ }
163
+ }
164
+ }, _callee);
165
+ })));
166
+ it('should check permission and be unavailable', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
167
+ var _render14, container;
168
+
169
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
170
+ while (1) {
171
+ switch (_context2.prev = _context2.next) {
172
+ case 0:
173
+ Object.defineProperty(window, 'sessionStorage', {
174
+ value: (0, _storageMock["default"])()
175
+ });
176
+ _render14 = (0, _react.render)(radioMockRender({
177
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('disabled')
178
+ })), container = _render14.container;
179
+ expect(container.querySelector('.radio-button input')).toBeDisabled();
180
+
181
+ case 3:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
185
+ }
186
+ }, _callee2);
187
+ })));
188
+ });
189
+ });