linear-react-components-ui 1.0.3-beta.2 → 1.0.3-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 (81) 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/Content.d.ts +0 -1
  10. package/lib/drawer/Drawer.d.ts +0 -1
  11. package/lib/drawer/Drawer.js +3 -6
  12. package/lib/drawer/Drawer.spec.js +258 -0
  13. package/lib/drawer/Header.d.ts +0 -1
  14. package/lib/drawer/helpers.d.ts +0 -1
  15. package/lib/drawer/index.d.ts +0 -1
  16. package/lib/drawer/types.d.ts +1 -2
  17. package/lib/dropdown/dropdown.spec.js +169 -0
  18. package/lib/fieldset/fieldset.spec.js +329 -0
  19. package/lib/form/form.spec.js +293 -0
  20. package/lib/gridlayout/gridLayout.spec.js +169 -0
  21. package/lib/icons/helper.d.ts +4 -0
  22. package/lib/icons/helper.js +4 -0
  23. package/lib/icons/icons.spec.js +86 -0
  24. package/lib/inputs/base/base.spec.js +690 -0
  25. package/lib/inputs/base/index.js +1 -0
  26. package/lib/inputs/color/color_input.spec.js +174 -0
  27. package/lib/inputs/date/date.spec.js +354 -0
  28. package/lib/inputs/inputHOC.d.ts +1 -2
  29. package/lib/inputs/mask/helpers.d.ts +1 -2
  30. package/lib/inputs/mask/imaskHOC.d.ts +1 -2
  31. package/lib/inputs/mask/input_mask.spec.js +607 -0
  32. package/lib/inputs/multiSelect/Dropdown.js +1 -1
  33. package/lib/inputs/multiSelect/helper.d.ts +1 -1
  34. package/lib/inputs/multiSelect/helper.js +1 -1
  35. package/lib/inputs/multiSelect/index.js +1 -1
  36. package/lib/inputs/multiSelect/types.d.ts +2 -2
  37. package/lib/inputs/number/BaseNumber.d.ts +1 -2
  38. package/lib/inputs/number/Currency.d.ts +1 -2
  39. package/lib/inputs/number/Decimal.d.ts +1 -2
  40. package/lib/inputs/number/index.d.ts +1 -2
  41. package/lib/inputs/number/numberfield.spec.js +215 -0
  42. package/lib/inputs/number/types.d.ts +1 -2
  43. package/lib/inputs/search/index.d.ts +1 -2
  44. package/lib/inputs/search/index.js +14 -18
  45. package/lib/inputs/search/search_input.spec.js +209 -0
  46. package/lib/inputs/select/ActionButtons.d.ts +1 -2
  47. package/lib/inputs/select/Dropdown.d.ts +1 -2
  48. package/lib/inputs/select/Dropdown.js +1 -1
  49. package/lib/inputs/select/helper.d.ts +2 -3
  50. package/lib/inputs/select/helper.js +2 -2
  51. package/lib/inputs/select/index.d.ts +1 -1
  52. package/lib/inputs/select/index.js +5 -5
  53. package/lib/inputs/select/multiple/Selecteds.d.ts +1 -1
  54. package/lib/inputs/select/multiple/Selecteds.js +1 -1
  55. package/lib/inputs/select/multiple/index.d.ts +1 -1
  56. package/lib/inputs/select/multiple/index.js +2 -4
  57. package/lib/inputs/select/select.spec.js +395 -0
  58. package/lib/inputs/select/simple/index.d.ts +1 -1
  59. package/lib/inputs/select/simple/index.js +5 -5
  60. package/lib/inputs/select/types.d.ts +11 -6
  61. package/lib/inputs/text/textfield.spec.js +215 -0
  62. package/lib/inputs/textarea/textarea.spec.js +59 -0
  63. package/lib/inputs/types.d.ts +4 -10
  64. package/lib/labelMessages/labelMessages.spec.js +176 -0
  65. package/lib/labels/label.spec.js +162 -0
  66. package/lib/list/list.spec.js +769 -0
  67. package/lib/menus/float/float-menu.spec.js +221 -0
  68. package/lib/menus/sidenav/sidenav.spec.js +379 -0
  69. package/lib/panel/panel.spec.js +216 -0
  70. package/lib/popover/popover.spec.js +146 -0
  71. package/lib/progress/progress.spec.js +94 -0
  72. package/lib/radio/radio.spec.js +189 -0
  73. package/lib/spinner/spinner.spec.js +152 -0
  74. package/lib/split/split.spec.js +163 -0
  75. package/lib/table/table.spec.js +352 -0
  76. package/lib/tabs/tabs.spec.js +321 -0
  77. package/lib/toolbar/toolbar.spec.js +394 -0
  78. package/lib/tooltip/tooltip.spec.js +215 -0
  79. package/lib/treeview/treeview.spec.js +279 -0
  80. package/lib/uitour/uitour.spec.js +176 -0
  81. package/package.json +1 -1
@@ -0,0 +1,258 @@
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
+ require("babel-polyfill");
12
+
13
+ var _ = _interopRequireWildcard(require("."));
14
+
15
+ var _icons = _interopRequireDefault(require("../icons"));
16
+
17
+ var _avatar = _interopRequireDefault(require("../avatar"));
18
+
19
+ var _storageMock = _interopRequireWildcard(require("../../../config/jest/storageMock"));
20
+
21
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
22
+
23
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
24
+
25
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
26
+
27
+ function 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); } }
28
+
29
+ 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); }); }; }
30
+
31
+ 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); }
32
+
33
+ var drawerMock = function drawerMock(drawerProps, drawerHeaderProps) {
34
+ return /*#__PURE__*/_react.default.createElement(_.default, _extends({
35
+ position: "right",
36
+ customClass: "customMockClass",
37
+ customClassForContent: "CustomContentMockClass",
38
+ style: {
39
+ backgroundColor: '#FFF'
40
+ },
41
+ overlay: true
42
+ }, drawerProps), /*#__PURE__*/_react.default.createElement(_.DrawerHeader, _extends({
43
+ title: "Header Test",
44
+ subTitle: "Subtitle test",
45
+ titleIcon: "user",
46
+ customClass: "customMockHeaderClass",
47
+ showCloseButton: true
48
+ }, drawerHeaderProps)), /*#__PURE__*/_react.default.createElement(_.DrawerContent, {
49
+ style: {
50
+ background: '#333',
51
+ marginTop: 10
52
+ }
53
+ }, "DrawerContent", /*#__PURE__*/_react.default.createElement(_avatar.default, null)));
54
+ };
55
+
56
+ describe('Drawer', function () {
57
+ describe('Drawer Container', function () {
58
+ var DrawerTestId = 'drawercontainer-component';
59
+ var DrawerContentTestId = 'drawercontent';
60
+ it('should render the drawer component with children', function () {
61
+ var _render = (0, _react2.render)(drawerMock()),
62
+ getByTestId = _render.getByTestId;
63
+
64
+ expect(getByTestId(DrawerTestId)).toHaveTextContent('DrawerContent');
65
+ });
66
+ it('should change the position of Drawer', function () {
67
+ var _render2 = (0, _react2.render)(drawerMock()),
68
+ getByTestId = _render2.getByTestId;
69
+
70
+ expect(getByTestId(DrawerTestId)).toHaveClass('right');
71
+ });
72
+ it('should apply customClass', function () {
73
+ var _render3 = (0, _react2.render)(drawerMock()),
74
+ getByTestId = _render3.getByTestId;
75
+
76
+ expect(getByTestId(DrawerTestId)).toHaveClass('customMockClass');
77
+ });
78
+ it('should apply customClassContent', function () {
79
+ var _render4 = (0, _react2.render)(drawerMock()),
80
+ getByTestId = _render4.getByTestId;
81
+
82
+ expect(getByTestId(DrawerContentTestId)).toHaveClass('CustomContentMockClass');
83
+ });
84
+ it('should apply inline style', function () {
85
+ var _render5 = (0, _react2.render)(drawerMock()),
86
+ getByTestId = _render5.getByTestId;
87
+
88
+ expect(getByTestId(DrawerTestId)).toHaveStyle('background-color: #FFF');
89
+ });
90
+ it('should render overlay over the page', function () {
91
+ (0, _react2.render)(drawerMock());
92
+ expect(_react2.screen.getByTestId('drawer-overlay')).toBeInTheDocument();
93
+ });
94
+ it('should close the Drawer when press Escape', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
95
+ var mockHandlerClose, _render6, container;
96
+
97
+ return regeneratorRuntime.wrap(function _callee$(_context) {
98
+ while (1) {
99
+ switch (_context.prev = _context.next) {
100
+ case 0:
101
+ mockHandlerClose = jest.fn();
102
+ _render6 = (0, _react2.render)(drawerMock({
103
+ handlerClose: mockHandlerClose,
104
+ closeOnEsc: true
105
+ })), container = _render6.container;
106
+
107
+ _react2.fireEvent.keyUp(container, {
108
+ key: 'Escape',
109
+ code: 'Escape',
110
+ keyCode: 27,
111
+ charCode: 27
112
+ });
113
+
114
+ expect(mockHandlerClose).toHaveBeenCalled();
115
+
116
+ case 4:
117
+ case "end":
118
+ return _context.stop();
119
+ }
120
+ }
121
+ }, _callee);
122
+ })));
123
+ });
124
+ describe('Drawer Header', function () {
125
+ var CloseButtonTestId = 'header-closebutton';
126
+ var mockHandlerClose = jest.fn();
127
+
128
+ var mockImage = /*#__PURE__*/_react.default.createElement("img", {
129
+ src: "https://devfront.erplinear.com.br/auth/static/media/auth_bg.96d98c39.jpg",
130
+ alt: "imagem teste"
131
+ });
132
+
133
+ var DrawerHeaderMock = drawerMock({
134
+ handlerClose: mockHandlerClose
135
+ });
136
+ it('should renders correctly DrawerHeader', function () {
137
+ var _render7 = (0, _react2.render)(DrawerHeaderMock),
138
+ getByText = _render7.getByText;
139
+
140
+ expect(getByText('Header Test')).toBeInTheDocument();
141
+ });
142
+ it('should render titleContent', function () {
143
+ var _render8 = (0, _react2.render)(drawerMock({}, {
144
+ titleContent: mockImage
145
+ })),
146
+ getByAltText = _render8.getByAltText;
147
+
148
+ expect(getByAltText('imagem teste')).toBeInTheDocument();
149
+ });
150
+ it('should render titleRightContent', function () {
151
+ var _render9 = (0, _react2.render)(drawerMock({}, {
152
+ titleRightContent: mockImage
153
+ })),
154
+ getByAltText = _render9.getByAltText;
155
+
156
+ expect(getByAltText('imagem teste')).toBeInTheDocument();
157
+ });
158
+ it('should render subtitle', function () {
159
+ var _render10 = (0, _react2.render)(DrawerHeaderMock),
160
+ getByText = _render10.getByText;
161
+
162
+ expect(getByText('Subtitle test')).toBeInTheDocument();
163
+ });
164
+ it('should render subTitleContent', function () {
165
+ var _render11 = (0, _react2.render)(drawerMock({}, {
166
+ subTitleContent: mockImage
167
+ })),
168
+ getByAltText = _render11.getByAltText;
169
+
170
+ expect(getByAltText('imagem teste')).toBeInTheDocument();
171
+ });
172
+ it('should render title icon', function () {
173
+ var _render12 = (0, _react2.render)(DrawerHeaderMock),
174
+ getByTestId = _render12.getByTestId;
175
+
176
+ expect(getByTestId('icon-header')).toBeInTheDocument();
177
+ expect(getByTestId('icon-header')).toHaveClass('icon-header');
178
+ });
179
+ it('should render icon', function () {
180
+ var _render13 = (0, _react2.render)(drawerMock({}, {
181
+ icon: /*#__PURE__*/_react.default.createElement(_icons.default, {
182
+ name: "user"
183
+ }),
184
+ showCloseButton: true
185
+ })),
186
+ getByTestId = _render13.getByTestId;
187
+
188
+ expect(getByTestId('icon-header')).toBeInTheDocument();
189
+ expect(getByTestId('icon-header')).toHaveClass('icon-header');
190
+ });
191
+ it('should render close button', function () {
192
+ var _render14 = (0, _react2.render)(DrawerHeaderMock),
193
+ getByTestId = _render14.getByTestId;
194
+
195
+ expect(getByTestId(CloseButtonTestId)).toBeInTheDocument();
196
+ expect(getByTestId(CloseButtonTestId)).toHaveClass('closebutton');
197
+ });
198
+ it('should fire click in close button', function () {
199
+ var _render15 = (0, _react2.render)(DrawerHeaderMock),
200
+ getByTestId = _render15.getByTestId;
201
+
202
+ _react2.fireEvent.click(getByTestId(CloseButtonTestId));
203
+
204
+ expect(mockHandlerClose).toHaveBeenCalledTimes(1);
205
+ });
206
+ it('should apply customClass', function () {
207
+ var _render16 = (0, _react2.render)(DrawerHeaderMock),
208
+ getByTestId = _render16.getByTestId;
209
+
210
+ expect(getByTestId('drawerheader')).toHaveClass('customMockHeaderClass');
211
+ });
212
+ });
213
+ describe('Drawer Content', function () {
214
+ it('should DrawerContent renders correctly', function () {
215
+ var _render17 = (0, _react2.render)(drawerMock()),
216
+ getByText = _render17.getByText,
217
+ getByTestId = _render17.getByTestId;
218
+
219
+ expect(getByText('DrawerContent')).toBeInTheDocument();
220
+ expect(getByTestId('avatar')).toBeInTheDocument();
221
+ });
222
+ it('should apply inline style', function () {
223
+ var _render18 = (0, _react2.render)(drawerMock()),
224
+ getByText = _render18.getByText;
225
+
226
+ expect(getByText('DrawerContent')).toHaveStyle('background-color: #333; margin-top: 10px;');
227
+ });
228
+ });
229
+ describe('Permissions', function () {
230
+ var defineStorageMock = function defineStorageMock() {
231
+ Object.defineProperty(window, 'sessionStorage', {
232
+ value: (0, _storageMock.default)()
233
+ });
234
+ };
235
+
236
+ it('should check permission', function () {
237
+ defineStorageMock();
238
+
239
+ var _render19 = (0, _react2.render)(drawerMock({
240
+ permissionAttr: (0, _storageMock.permissionAttrMockAuthorized)('hideContent')
241
+ })),
242
+ container = _render19.container;
243
+
244
+ expect(container.querySelector('.no-permission-component')).not.toBeInTheDocument();
245
+ });
246
+ it('should render non-permission', function () {
247
+ defineStorageMock();
248
+
249
+ var _render20 = (0, _react2.render)(drawerMock({
250
+ permissionAttr: (0, _storageMock.permissionAttrMockUnauthorized)('hideContent')
251
+ })),
252
+ getByText = _render20.getByText;
253
+
254
+ expect(getByText('Acesso Negado')).toBeInTheDocument();
255
+ expect(getByText('Você não tem permissão para acessar este conteúdo. Consulte o Administrador do sistema!')).toBeInTheDocument();
256
+ });
257
+ });
258
+ });
@@ -1,7 +1,6 @@
1
1
  import { IDrawerHeaderProps } from './types.js';
2
2
  import 'react';
3
3
  import '../@types/PermissionAttr.js';
4
- import '../@types/Position.js';
5
4
 
6
5
  declare const Header: ({ showCloseButton, title, subTitle, icon, titleIcon, customClass, titleContent, subTitleContent, titleRightContent, }: IDrawerHeaderProps) => JSX.Element;
7
6
 
@@ -1,7 +1,6 @@
1
1
  import React__default from 'react';
2
2
  import { IDrawerContext } from './types.js';
3
3
  import '../@types/PermissionAttr.js';
4
- import '../@types/Position.js';
5
4
 
6
5
  declare const DrawerContext: React__default.Context<IDrawerContext>;
7
6
 
@@ -3,7 +3,6 @@ export { default as DrawerHeader } from './Header.js';
3
3
  export { default as DrawerContent } from './Content.js';
4
4
  import 'react';
5
5
  import '../@types/PermissionAttr.js';
6
- import '../@types/Position.js';
7
6
 
8
7
  declare const _default: (props: IDrawerProps) => JSX.Element;
9
8
 
@@ -1,6 +1,5 @@
1
1
  import React__default, { ReactNode, ReactElement } from 'react';
2
2
  import { PermissionAttr } from '../@types/PermissionAttr.js';
3
- import { Position } from '../@types/Position.js';
4
3
 
5
4
  interface IDrawerProps extends React__default.HTMLAttributes<HTMLDivElement> {
6
5
  overlay?: boolean;
@@ -8,7 +7,7 @@ interface IDrawerProps extends React__default.HTMLAttributes<HTMLDivElement> {
8
7
  customClass?: string;
9
8
  customClassForContent?: string;
10
9
  customClassForDrawer?: string;
11
- position?: Exclude<Position, 'center'>;
10
+ position?: string;
12
11
  handlerClose?: () => void;
13
12
  closeOnEsc?: boolean;
14
13
  targetId?: string;
@@ -0,0 +1,169 @@
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 _withDropdown = _interopRequireDefault(require("./withDropdown"));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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 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); } }
20
+
21
+ 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); }); }; }
22
+
23
+ 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); }
24
+
25
+ var WhappedComponent = function WhappedComponent(props) {
26
+ var btnRef = (0, _react2.useRef)(null);
27
+ return /*#__PURE__*/_react2.default.createElement(_react2.Fragment, null, /*#__PURE__*/_react2.default.createElement("button", {
28
+ ref: btnRef,
29
+ onClick: function onClick() {
30
+ return props.showDropdown();
31
+ }
32
+ }, "OPEN"), props.getDropdownPopup(btnRef.current));
33
+ };
34
+
35
+ var DropdownTest = (0, _withDropdown.default)(WhappedComponent);
36
+
37
+ var renderDropdownTestMock = function renderDropdownTestMock(props) {
38
+ return /*#__PURE__*/_react2.default.createElement(DropdownTest, _extends({
39
+ dropdown: true
40
+ }, props), /*#__PURE__*/_react2.default.createElement("div", null, "DROP_DOWN_CONTENT"));
41
+ };
42
+
43
+ describe('withDropdown', function () {
44
+ describe('Default', function () {
45
+ it('should render dropdown', function () {
46
+ var _render = (0, _react.render)(renderDropdownTestMock()),
47
+ container = _render.container,
48
+ getByTestId = _render.getByTestId,
49
+ getByText = _render.getByText;
50
+
51
+ _react.fireEvent.click(container.firstChild);
52
+
53
+ expect(getByTestId('dropdown-component')).toBeInTheDocument();
54
+ expect(getByText('DROP_DOWN_CONTENT')).toBeInTheDocument();
55
+ });
56
+ it('should apply customClass in dropdown', function () {
57
+ var _render2 = (0, _react.render)(renderDropdownTestMock({
58
+ customClassForDropdown: 'customClass'
59
+ })),
60
+ container = _render2.container,
61
+ getByTestId = _render2.getByTestId;
62
+
63
+ _react.fireEvent.click(container.firstChild);
64
+
65
+ expect(getByTestId('dropdown-component')).toBeInTheDocument();
66
+ expect(getByTestId('dropdown-component')).toHaveClass('customClass');
67
+ });
68
+ it('should control dropdown open with dropdownOpened prop', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
69
+ var _render3, rerender, getByTestId;
70
+
71
+ return regeneratorRuntime.wrap(function _callee$(_context) {
72
+ while (1) {
73
+ switch (_context.prev = _context.next) {
74
+ case 0:
75
+ _render3 = (0, _react.render)(renderDropdownTestMock()), rerender = _render3.rerender, getByTestId = _render3.getByTestId;
76
+ rerender(renderDropdownTestMock({
77
+ dropdownOpened: true
78
+ }));
79
+ _context.next = 4;
80
+ return (0, _react.waitFor)(function () {
81
+ return expect(getByTestId('dropdown-component')).toBeInTheDocument();
82
+ }, {
83
+ timeout: 3000
84
+ });
85
+
86
+ case 4:
87
+ case "end":
88
+ return _context.stop();
89
+ }
90
+ }
91
+ }, _callee);
92
+ })));
93
+ it('should closeDropdownOnClickOutside', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
94
+ var _render4, getByText, queryByTestId;
95
+
96
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
97
+ while (1) {
98
+ switch (_context2.prev = _context2.next) {
99
+ case 0:
100
+ _render4 = // eslint-disable-next-line max-len
101
+ (0, _react.render)( /*#__PURE__*/_react2.default.createElement("div", null, /*#__PURE__*/_react2.default.createElement("a", null, "OUTSIDE_CLICK"), renderDropdownTestMock())), getByText = _render4.getByText, queryByTestId = _render4.queryByTestId;
102
+
103
+ _react.fireEvent.click(getByText('OPEN'));
104
+
105
+ _context2.next = 4;
106
+ return (0, _react.waitFor)(function () {
107
+ return expect(queryByTestId('dropdown-component')).toBeInTheDocument();
108
+ }, {
109
+ timeout: 3000
110
+ });
111
+
112
+ case 4:
113
+ _react.fireEvent.click(getByText('OUTSIDE_CLICK'));
114
+
115
+ _context2.next = 7;
116
+ return (0, _react.waitFor)(function () {
117
+ return expect(queryByTestId('dropdown-component')).not.toBeInTheDocument();
118
+ }, {
119
+ timeout: 3000
120
+ });
121
+
122
+ case 7:
123
+ case "end":
124
+ return _context2.stop();
125
+ }
126
+ }
127
+ }, _callee2);
128
+ })));
129
+ it('should not closeDropdownOnClickOutside', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3() {
130
+ var _render5, getByText, queryByTestId;
131
+
132
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
133
+ while (1) {
134
+ switch (_context3.prev = _context3.next) {
135
+ case 0:
136
+ // eslint-disable-next-line function-paren-newline
137
+ _render5 = (0, _react.render)( /*#__PURE__*/_react2.default.createElement("div", null, /*#__PURE__*/_react2.default.createElement("a", null, "OUTSIDE_CLICK"), renderDropdownTestMock({
138
+ closeDropdownOnClickOutside: false
139
+ })) // eslint-disable-next-line function-paren-newline
140
+ ), getByText = _render5.getByText, queryByTestId = _render5.queryByTestId;
141
+
142
+ _react.fireEvent.click(getByText('OPEN'));
143
+
144
+ _context3.next = 4;
145
+ return (0, _react.waitFor)(function () {
146
+ return expect(queryByTestId('dropdown-component')).toBeInTheDocument();
147
+ }, {
148
+ timeout: 3000
149
+ });
150
+
151
+ case 4:
152
+ _react.fireEvent.click(getByText('OUTSIDE_CLICK'));
153
+
154
+ _context3.next = 7;
155
+ return (0, _react.waitFor)(function () {
156
+ return expect(queryByTestId('dropdown-component')).toBeInTheDocument();
157
+ }, {
158
+ timeout: 3000
159
+ });
160
+
161
+ case 7:
162
+ case "end":
163
+ return _context3.stop();
164
+ }
165
+ }
166
+ }, _callee3);
167
+ })));
168
+ });
169
+ });