linear-react-components-ui 0.4.75-beta.10 → 0.4.75-beta.14

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 (79) hide show
  1. package/.eslintrc.js +2 -5
  2. package/.vscode/settings.json +9 -9
  3. package/config/jest/cssTransform.js +14 -0
  4. package/config/jest/fileTransform.js +12 -0
  5. package/config/jest/storageMock.js +40 -0
  6. package/jest.config.js +18 -0
  7. package/lib/alerts/alert.spec.js +133 -0
  8. package/lib/assets/styles/popover.scss +9 -11
  9. package/lib/assets/styles/treeview.scss +0 -32
  10. package/lib/avatar/avatar.spec.js +190 -0
  11. package/lib/avatar/index.js +6 -2
  12. package/lib/badge/badge.spec.js +127 -0
  13. package/lib/badge/index.js +3 -5
  14. package/lib/buttons/DefaultButton.js +1 -7
  15. package/lib/buttons/buttons.spec.js +504 -0
  16. package/lib/calendar/calendar.spec.js +171 -0
  17. package/lib/checkbox/checkbox.spec.js +215 -0
  18. package/lib/checkbox/index.js +7 -20
  19. package/lib/dialog/Custom.js +7 -1
  20. package/lib/dialog/base/index.js +3 -0
  21. package/lib/dialog/dialog.spec.js +488 -0
  22. package/lib/dialog/form/index.js +7 -1
  23. package/lib/drawer/Drawer.js +3 -0
  24. package/lib/drawer/Drawer.spec.js +258 -0
  25. package/lib/drawer/Header.js +4 -1
  26. package/lib/dropdown/Popup.js +1 -0
  27. package/lib/dropdown/dropdown.spec.js +168 -0
  28. package/lib/dropdown/withDropdown.js +10 -4
  29. package/lib/fieldset/fieldset.spec.js +329 -0
  30. package/lib/form/form.spec.js +285 -0
  31. package/lib/gridlayout/GridRow.js +1 -1
  32. package/lib/gridlayout/gridLayout.spec.js +169 -0
  33. package/lib/icons/icons.spec.js +86 -0
  34. package/lib/icons/index.js +2 -0
  35. package/lib/inputs/base/InputTextBase.js +2 -0
  36. package/lib/inputs/base/base.spec.js +690 -0
  37. package/lib/inputs/color/color_input.spec.js +174 -0
  38. package/lib/inputs/color/index.js +2 -2
  39. package/lib/inputs/date/date.spec.js +344 -0
  40. package/lib/inputs/date/index.js +7 -6
  41. package/lib/inputs/mask/Cpf.js +9 -9
  42. package/lib/inputs/mask/input_mask.spec.js +590 -0
  43. package/lib/inputs/number/numberfield.spec.js +215 -0
  44. package/lib/inputs/search/search_input.spec.js +209 -0
  45. package/lib/inputs/select/select.spec.js +391 -0
  46. package/lib/inputs/text/textfield.spec.js +215 -0
  47. package/lib/inputs/textarea/textarea.spec.js +59 -0
  48. package/lib/labelMessages/index.js +3 -2
  49. package/lib/labelMessages/labelMessages.spec.js +176 -0
  50. package/lib/labels/label.spec.js +162 -0
  51. package/lib/list/Item.js +3 -3
  52. package/lib/list/index.js +21 -10
  53. package/lib/list/list.spec.js +611 -0
  54. package/lib/menus/float/float-menu.spec.js +221 -0
  55. package/lib/menus/sidenav/sidenav.spec.js +312 -0
  56. package/lib/noPermission/index.js +2 -1
  57. package/lib/panel/panel.spec.js +216 -0
  58. package/lib/popover/index.js +2 -1
  59. package/lib/popover/popover.spec.js +146 -0
  60. package/lib/progress/progress.spec.js +86 -0
  61. package/lib/radio/radio.spec.js +189 -0
  62. package/lib/spinner/SpinnerLoading.js +14 -24
  63. package/lib/spinner/spinner.spec.js +152 -0
  64. package/lib/split/Split.js +5 -1
  65. package/lib/split/split.spec.js +151 -0
  66. package/lib/table/Header.js +3 -1
  67. package/lib/table/Row.js +1 -4
  68. package/lib/table/index.js +1 -4
  69. package/lib/table/table.spec.js +352 -0
  70. package/lib/tabs/tabs.spec.js +346 -0
  71. package/lib/toolbar/toolbar.spec.js +394 -0
  72. package/lib/tooltip/index.js +1 -0
  73. package/lib/tooltip/tooltip.spec.js +203 -0
  74. package/lib/treeview/Node.js +16 -282
  75. package/lib/treeview/index.js +35 -444
  76. package/lib/treeview/treeview.spec.js +261 -0
  77. package/package.json +11 -2
  78. package/.DS_Store +0 -0
  79. package/lib/checkbox/Label.js +0 -37
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+
3
+ var _react = require("@testing-library/react");
4
+
5
+ var _react2 = _interopRequireDefault(require("react"));
6
+
7
+ require("@testing-library/jest-dom");
8
+
9
+ require("babel-polyfill");
10
+
11
+ var _ = _interopRequireDefault(require("."));
12
+
13
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
14
+
15
+ 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); } }
16
+
17
+ 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); }); }; }
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 dataMock = {
22
+ id: 1,
23
+ titulo: 'SG Linear',
24
+ codigo: 'SG_Linear',
25
+ permissoes: [{
26
+ codigo: 'ACESSO'
27
+ }, {
28
+ codigo: 'GRAVAR'
29
+ }],
30
+ itens: [{
31
+ id: 2,
32
+ titulo: 'Segurança',
33
+ codigo: 'seguranca',
34
+ permissoes: [{
35
+ codigo: 'ACESSO'
36
+ }, {
37
+ codigo: 'GRAVAR'
38
+ }],
39
+ itens: [{
40
+ id: 4,
41
+ titulo: 'Perfis',
42
+ codigo: 'perfis',
43
+ itens: [{
44
+ titulo: 'Editar',
45
+ codigo: 'Editar',
46
+ itens: [{
47
+ titulo: 'Editar permissão ERP',
48
+ codigo: 'Editar permissão ERP'
49
+ }]
50
+ }]
51
+ }]
52
+ }, {
53
+ id: 3,
54
+ titulo: 'Cadastros',
55
+ codigo: 'cadastros',
56
+ permissoes: [{
57
+ codigo: 'ACESSO'
58
+ }, {
59
+ codigo: 'GRAVAR'
60
+ }],
61
+ itens: [{
62
+ id: 5,
63
+ titulo: 'Empresas',
64
+ codigo: 'empresas'
65
+ }]
66
+ }]
67
+ };
68
+
69
+ var treeviewRenderMock = function treeviewRenderMock(props) {
70
+ return /*#__PURE__*/_react2["default"].createElement(_["default"], _extends({
71
+ data: dataMock,
72
+ valuePropName: "id",
73
+ labelPropName: "titulo",
74
+ parentPropName: "0"
75
+ }, props));
76
+ };
77
+
78
+ describe('Treeview', function () {
79
+ describe('Default', function () {
80
+ it('should render', function () {
81
+ var _render = (0, _react.render)(treeviewRenderMock()),
82
+ container = _render.container;
83
+
84
+ expect(container.firstChild).toBeTruthy();
85
+ });
86
+ it('should have start node visible', function () {
87
+ var _render2 = (0, _react.render)(treeviewRenderMock()),
88
+ queryByText = _render2.queryByText;
89
+
90
+ expect(queryByText(dataMock.titulo)).toBeTruthy();
91
+ });
92
+ it('should not have second node visible', function () {
93
+ var _render3 = (0, _react.render)(treeviewRenderMock()),
94
+ queryByText = _render3.queryByText;
95
+
96
+ expect(queryByText(dataMock.itens[0].titulo)).not.toBeTruthy();
97
+ });
98
+ it('should open on click', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
99
+ var _render4, queryByText, getByRole;
100
+
101
+ return regeneratorRuntime.wrap(function _callee$(_context) {
102
+ while (1) {
103
+ switch (_context.prev = _context.next) {
104
+ case 0:
105
+ _render4 = (0, _react.render)(treeviewRenderMock()), queryByText = _render4.queryByText, getByRole = _render4.getByRole;
106
+
107
+ _react.fireEvent.click(getByRole('button'));
108
+
109
+ _context.next = 4;
110
+ return (0, _react.waitFor)(function () {
111
+ return queryByText(dataMock.itens[0].titulo);
112
+ });
113
+
114
+ case 4:
115
+ expect(queryByText(dataMock.itens[0].titulo)).toBeTruthy();
116
+ expect(queryByText(dataMock.itens[1].titulo)).toBeTruthy();
117
+
118
+ case 6:
119
+ case "end":
120
+ return _context.stop();
121
+ }
122
+ }
123
+ }, _callee);
124
+ })));
125
+ it('should open all layers', /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2() {
126
+ var _render5, queryByText, getByRole, queryAllByRole;
127
+
128
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
129
+ while (1) {
130
+ switch (_context2.prev = _context2.next) {
131
+ case 0:
132
+ _render5 = (0, _react.render)(treeviewRenderMock()), queryByText = _render5.queryByText, getByRole = _render5.getByRole, queryAllByRole = _render5.queryAllByRole;
133
+
134
+ _react.fireEvent.click(getByRole('button'));
135
+
136
+ _context2.next = 4;
137
+ return (0, _react.waitFor)(function () {
138
+ return queryByText(dataMock.itens[0].titulo);
139
+ });
140
+
141
+ case 4:
142
+ _react.fireEvent.click(queryAllByRole('button')[1]);
143
+
144
+ _context2.next = 7;
145
+ return (0, _react.waitFor)(function () {
146
+ return queryByText(dataMock.itens[0].itens[0].titulo);
147
+ });
148
+
149
+ case 7:
150
+ _react.fireEvent.click(queryAllByRole('button')[2]);
151
+
152
+ _context2.next = 10;
153
+ return (0, _react.waitFor)(function () {
154
+ return queryByText(dataMock.itens[0].itens[0].itens[0].titulo);
155
+ });
156
+
157
+ case 10:
158
+ _react.fireEvent.click(queryAllByRole('button')[3]);
159
+
160
+ _context2.next = 13;
161
+ return (0, _react.waitFor)(function () {
162
+ return queryByText(dataMock.itens[0].itens[0].itens[0].itens[0].titulo);
163
+ });
164
+
165
+ case 13:
166
+ _react.fireEvent.click(queryAllByRole('button')[4]);
167
+
168
+ _context2.next = 16;
169
+ return (0, _react.waitFor)(function () {
170
+ return queryByText(dataMock.itens[1].itens[0].titulo);
171
+ });
172
+
173
+ case 16:
174
+ expect(queryByText(dataMock.itens[0].titulo)).toBeTruthy();
175
+ expect(queryByText(dataMock.itens[0].itens[0].titulo)).toBeTruthy();
176
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].titulo)).toBeTruthy();
177
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].itens[0].titulo)).toBeTruthy();
178
+ expect(queryByText(dataMock.itens[1].titulo)).toBeTruthy();
179
+ expect(queryByText(dataMock.itens[1].itens[0].titulo)).toBeTruthy();
180
+
181
+ case 22:
182
+ case "end":
183
+ return _context2.stop();
184
+ }
185
+ }
186
+ }, _callee2);
187
+ })));
188
+ it('should render checkbox', function () {
189
+ var _render6 = (0, _react.render)(treeviewRenderMock({
190
+ showCheckBox: true
191
+ })),
192
+ container = _render6.container;
193
+
194
+ expect(container.querySelector('.checkbox-component')).toBeTruthy();
195
+ });
196
+ it('should call onSelectedIdsChange callback', function () {
197
+ var mockCallback = jest.fn(function (x) {
198
+ return x;
199
+ });
200
+
201
+ var _render7 = (0, _react.render)(treeviewRenderMock({
202
+ showCheckBox: true,
203
+ onSelectedIdsChange: mockCallback
204
+ })),
205
+ container = _render7.container;
206
+
207
+ _react.fireEvent.click(container.querySelector('.checkbox-component'));
208
+
209
+ expect(mockCallback.mock.calls.length).toBe(1);
210
+ expect(mockCallback.mock.calls[0][0]).toStrictEqual([1]);
211
+ });
212
+ it('should control checkbox by selectedIds', function () {
213
+ var _render8 = (0, _react.render)(treeviewRenderMock({
214
+ showCheckBox: true,
215
+ selectedIds: [1]
216
+ })),
217
+ container = _render8.container;
218
+
219
+ expect(container.querySelector('input.checkbox-component')).toBeChecked();
220
+ });
221
+ it('should start checkbox unchecked', function () {
222
+ var _render9 = (0, _react.render)(treeviewRenderMock({
223
+ showCheckBox: true
224
+ })),
225
+ container = _render9.container;
226
+
227
+ expect(container.querySelector('input.checkbox-component')).not.toBeChecked();
228
+ });
229
+ it('should start nodes open', function () {
230
+ var _render10 = (0, _react.render)(treeviewRenderMock({
231
+ startNodesOpened: true
232
+ })),
233
+ queryByText = _render10.queryByText;
234
+
235
+ expect(queryByText(dataMock.itens[0].titulo)).toBeTruthy();
236
+ expect(queryByText(dataMock.itens[0].itens[0].titulo)).toBeTruthy();
237
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].titulo)).toBeTruthy();
238
+ expect(queryByText(dataMock.itens[0].itens[0].itens[0].itens[0].titulo)).toBeTruthy();
239
+ expect(queryByText(dataMock.itens[1].titulo)).toBeTruthy();
240
+ expect(queryByText(dataMock.itens[1].itens[0].titulo)).toBeTruthy();
241
+ });
242
+ it('should apply customClass', function () {
243
+ var _render11 = (0, _react.render)(treeviewRenderMock({
244
+ customClass: 'customClass'
245
+ })),
246
+ container = _render11.container;
247
+
248
+ expect(container.firstChild).toHaveClass('customClass');
249
+ });
250
+ it('should apply style', function () {
251
+ var _render12 = (0, _react.render)(treeviewRenderMock({
252
+ styleForContainer: {
253
+ backgroundColor: '#000'
254
+ }
255
+ })),
256
+ container = _render12.container;
257
+
258
+ expect(container.querySelector('ul')).toHaveStyle('background-color: #000');
259
+ });
260
+ });
261
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "linear-react-components-ui",
3
- "version": "0.4.75-beta.10",
3
+ "version": "0.4.75-beta.14",
4
4
  "description": "Linear Sistemas ReactJs Components",
5
5
  "main": "lib/index.js",
6
6
  "scripts": {
@@ -11,7 +11,10 @@
11
11
  "check:js": "./node_modules/.bin/eslint ./src/* --ext .js, --ext .jsx",
12
12
  "deploy:heroku": "npm run demo:prod && cd demo && git commit -am 'Deploy' && git push heroku master",
13
13
  "publish:npm": "npm run lib && npm publish",
14
- "prepare": "husky install"
14
+ "prepare": "husky install",
15
+ "test": "jest --env=jsdom",
16
+ "test:watch": "jest --watchAll --env=jsdom",
17
+ "test:coverage": "jest --coverage --colors --env=jsdom"
15
18
  },
16
19
  "keywords": [],
17
20
  "license": "MIT",
@@ -28,8 +31,12 @@
28
31
  "@babel/plugin-proposal-object-rest-spread": "7.0.0-beta.36",
29
32
  "@babel/preset-env": "^7.0.0-beta.36",
30
33
  "@babel/preset-react": "^7.0.0-beta.36",
34
+ "@testing-library/jest-dom": "^5.14.1",
35
+ "@testing-library/react": "^12.0.0",
31
36
  "babel-eslint": "^7.2.3",
37
+ "babel-jest": "^27.0.5",
32
38
  "babel-loader": "^8.0.0-beta.0",
39
+ "babel-polyfill": "^6.26.0",
33
40
  "css-loader": "^0.28.8",
34
41
  "eslint": "4.18.0",
35
42
  "eslint-config-airbnb": "16.1.0",
@@ -40,6 +47,8 @@
40
47
  "file-loader": "^1.1.6",
41
48
  "html-webpack-plugin": "^2.30.1",
42
49
  "husky": "^6.0.0",
50
+ "identity-obj-proxy": "^3.0.0",
51
+ "jest": "^27.0.5",
43
52
  "react": "^16.12.0",
44
53
  "react-dom": "^16.12.0",
45
54
  "react-router-dom": "^5.1.2",
package/.DS_Store DELETED
Binary file
@@ -1,37 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports["default"] = void 0;
7
-
8
- var _react = _interopRequireDefault(require("react"));
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _withTooltip = _interopRequireDefault(require("../internals/withTooltip"));
13
-
14
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
15
-
16
- var Label = function Label(_ref) {
17
- var label = _ref.label,
18
- targetRef = _ref.targetRef;
19
- return /*#__PURE__*/_react["default"].createElement("span", {
20
- className: "checkbox-description",
21
- ref: function ref(r) {
22
- return targetRef && targetRef(r);
23
- }
24
- }, label);
25
- };
26
-
27
- Label.propTypes = {
28
- label: _propTypes["default"].string.isRequired,
29
- targetRef: _propTypes["default"].func
30
- };
31
- Label.defaultProps = {
32
- targetRef: undefined
33
- };
34
-
35
- var _default = (0, _withTooltip["default"])(Label);
36
-
37
- exports["default"] = _default;