@pie-lib/charting 7.0.13 → 7.1.0-beta
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.
- package/CHANGELOG.md +0 -44
- package/lib/__tests__/actions-button.test.js +332 -0
- package/lib/__tests__/actions-button.test.js.map +1 -0
- package/lib/__tests__/axes.test.js +746 -0
- package/lib/__tests__/axes.test.js.map +1 -0
- package/lib/__tests__/chart-setup.test.js +796 -0
- package/lib/__tests__/chart-setup.test.js.map +1 -0
- package/lib/__tests__/chart-type.test.js +25 -0
- package/lib/__tests__/chart-type.test.js.map +1 -0
- package/lib/__tests__/chart.test.js +103 -0
- package/lib/__tests__/chart.test.js.map +1 -0
- package/lib/__tests__/grid.test.js +39 -0
- package/lib/__tests__/grid.test.js.map +1 -0
- package/lib/__tests__/key-legend.test.js +235 -0
- package/lib/__tests__/key-legend.test.js.map +1 -0
- package/lib/__tests__/mark-label.test.js +46 -0
- package/lib/__tests__/mark-label.test.js.map +1 -0
- package/lib/__tests__/tool-menu.test.js +627 -0
- package/lib/__tests__/tool-menu.test.js.map +1 -0
- package/lib/__tests__/utils.js +56 -0
- package/lib/__tests__/utils.js.map +1 -0
- package/lib/__tests__/utils.test.js +186 -0
- package/lib/__tests__/utils.test.js.map +1 -0
- package/lib/bars/__tests__/bar.test.js +53 -0
- package/lib/bars/__tests__/bar.test.js.map +1 -0
- package/lib/bars/__tests__/histogram.test.js +53 -0
- package/lib/bars/__tests__/histogram.test.js.map +1 -0
- package/lib/bars/__tests__/utils.js +50 -0
- package/lib/bars/__tests__/utils.js.map +1 -0
- package/lib/bars/common/__tests__/bars.test.js +76 -0
- package/lib/bars/common/__tests__/bars.test.js.map +1 -0
- package/lib/bars/common/__tests__/utils.js +50 -0
- package/lib/bars/common/__tests__/utils.js.map +1 -0
- package/lib/common/__tests__/correctness-indicators.test.js +887 -0
- package/lib/common/__tests__/correctness-indicators.test.js.map +1 -0
- package/lib/common/__tests__/drag-handle.test.js +73 -0
- package/lib/common/__tests__/drag-handle.test.js.map +1 -0
- package/lib/common/__tests__/utils.js +50 -0
- package/lib/common/__tests__/utils.js.map +1 -0
- package/lib/line/__tests__/line-cross.test.js +617 -0
- package/lib/line/__tests__/line-cross.test.js.map +1 -0
- package/lib/line/__tests__/line-dot.test.js +47 -0
- package/lib/line/__tests__/line-dot.test.js.map +1 -0
- package/lib/line/__tests__/utils.js +56 -0
- package/lib/line/__tests__/utils.js.map +1 -0
- package/lib/line/common/__tests__/drag-handle.test.js +73 -0
- package/lib/line/common/__tests__/drag-handle.test.js.map +1 -0
- package/lib/line/common/__tests__/line.test.js +92 -0
- package/lib/line/common/__tests__/line.test.js.map +1 -0
- package/lib/line/common/__tests__/utils.js +50 -0
- package/lib/line/common/__tests__/utils.js.map +1 -0
- package/lib/plot/__tests__/dot.test.js +513 -0
- package/lib/plot/__tests__/dot.test.js.map +1 -0
- package/lib/plot/__tests__/line.test.js +566 -0
- package/lib/plot/__tests__/line.test.js.map +1 -0
- package/lib/plot/__tests__/utils.js +50 -0
- package/lib/plot/__tests__/utils.js.map +1 -0
- package/lib/plot/common/__tests__/plot.test.js +79 -0
- package/lib/plot/common/__tests__/plot.test.js.map +1 -0
- package/lib/plot/common/__tests__/utils.js +50 -0
- package/lib/plot/common/__tests__/utils.js.map +1 -0
- package/package.json +5 -5
- package/LICENSE.md +0 -5
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
var _testUtils = require("@pie-lib/test-utils");
|
|
7
|
+
var _markLabel = require("../mark-label");
|
|
8
|
+
var _utils = require("./utils");
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
describe('MarkLabel', function () {
|
|
12
|
+
var onChange = jest.fn();
|
|
13
|
+
var renderComponent = function renderComponent(extras) {
|
|
14
|
+
var defaults = {
|
|
15
|
+
classes: {},
|
|
16
|
+
defineChart: false,
|
|
17
|
+
className: 'className',
|
|
18
|
+
onChange: onChange,
|
|
19
|
+
mark: {
|
|
20
|
+
x: 1,
|
|
21
|
+
y: 1
|
|
22
|
+
},
|
|
23
|
+
graphProps: (0, _utils.graphProps)(0, 10, 0, 10)
|
|
24
|
+
};
|
|
25
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
26
|
+
return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_markLabel.MarkLabel, props));
|
|
27
|
+
};
|
|
28
|
+
describe('rendering', function () {
|
|
29
|
+
it('renders mark label', function () {
|
|
30
|
+
var _renderComponent = renderComponent(),
|
|
31
|
+
container = _renderComponent.container;
|
|
32
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
33
|
+
});
|
|
34
|
+
it('renders mark label at different positions', function () {
|
|
35
|
+
var _renderComponent2 = renderComponent({
|
|
36
|
+
mark: {
|
|
37
|
+
x: 10,
|
|
38
|
+
y: 10
|
|
39
|
+
}
|
|
40
|
+
}),
|
|
41
|
+
container = _renderComponent2.container;
|
|
42
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=mark-label.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mark-label.test.js","names":["_react","_interopRequireDefault","require","_testUtils","_markLabel","_utils","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","describe","onChange","jest","fn","renderComponent","extras","defaults","classes","defineChart","className","mark","x","y","graphProps","getGraphProps","props","render","createElement","MarkLabel","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","_renderComponent2"],"sources":["../../src/__tests__/mark-label.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render } from '@pie-lib/test-utils';\nimport { MarkLabel } from '../mark-label';\nimport { graphProps as getGraphProps } from './utils';\n\ndescribe('MarkLabel', () => {\n let onChange = jest.fn();\n\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n defineChart: false,\n className: 'className',\n onChange,\n mark: { x: 1, y: 1 },\n graphProps: getGraphProps(0, 10, 0, 10),\n };\n const props = { ...defaults, ...extras };\n return render(<MarkLabel {...props} />);\n };\n\n describe('rendering', () => {\n it('renders mark label', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders mark label at different positions', () => {\n const { container } = renderComponent({ mark: { x: 10, y: 10 } });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,627 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
5
|
+
var _react = _interopRequireDefault(require("react"));
|
|
6
|
+
var _react2 = require("@testing-library/react");
|
|
7
|
+
var _styles = require("@mui/material/styles");
|
|
8
|
+
var _toolMenu = require("../tool-menu");
|
|
9
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
10
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
11
|
+
jest.mock('@pie-lib/translator', function () {
|
|
12
|
+
return {
|
|
13
|
+
__esModule: true,
|
|
14
|
+
"default": {
|
|
15
|
+
translator: {
|
|
16
|
+
t: jest.fn(function (key, options) {
|
|
17
|
+
var translations = {
|
|
18
|
+
'charting.addCategory': 'Add Category'
|
|
19
|
+
};
|
|
20
|
+
return translations[key] || key;
|
|
21
|
+
})
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
});
|
|
26
|
+
jest.mock('@pie-lib/render-ui', function () {
|
|
27
|
+
return {
|
|
28
|
+
color: {
|
|
29
|
+
text: function text() {
|
|
30
|
+
return '#000000';
|
|
31
|
+
},
|
|
32
|
+
secondary: function secondary() {
|
|
33
|
+
return '#cccccc';
|
|
34
|
+
},
|
|
35
|
+
background: function background() {
|
|
36
|
+
return '#ffffff';
|
|
37
|
+
},
|
|
38
|
+
primary: function primary() {
|
|
39
|
+
return '#0000ff';
|
|
40
|
+
},
|
|
41
|
+
primaryDark: function primaryDark() {
|
|
42
|
+
return '#000080';
|
|
43
|
+
},
|
|
44
|
+
disabled: function disabled() {
|
|
45
|
+
return '#f0f0f0';
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
var theme;
|
|
51
|
+
beforeAll(function () {
|
|
52
|
+
theme = (0, _styles.createTheme)();
|
|
53
|
+
});
|
|
54
|
+
describe('MiniButton', function () {
|
|
55
|
+
var onClick = jest.fn();
|
|
56
|
+
beforeEach(function () {
|
|
57
|
+
jest.clearAllMocks();
|
|
58
|
+
});
|
|
59
|
+
var renderComponent = function renderComponent() {
|
|
60
|
+
var extras = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
61
|
+
var defaults = {
|
|
62
|
+
value: 'Test Button',
|
|
63
|
+
onClick: onClick,
|
|
64
|
+
disabled: false,
|
|
65
|
+
selected: false
|
|
66
|
+
};
|
|
67
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
68
|
+
return (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
69
|
+
theme: theme
|
|
70
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.MiniButton, props)));
|
|
71
|
+
};
|
|
72
|
+
describe('rendering', function () {
|
|
73
|
+
it('should render with value text', function () {
|
|
74
|
+
var _renderComponent = renderComponent({
|
|
75
|
+
value: 'Click Me'
|
|
76
|
+
}),
|
|
77
|
+
getByText = _renderComponent.getByText;
|
|
78
|
+
expect(getByText('Click Me')).toBeInTheDocument();
|
|
79
|
+
});
|
|
80
|
+
it('should render as a button element', function () {
|
|
81
|
+
var _renderComponent2 = renderComponent(),
|
|
82
|
+
getByRole = _renderComponent2.getByRole;
|
|
83
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
84
|
+
});
|
|
85
|
+
it('should have correct button attributes', function () {
|
|
86
|
+
var _renderComponent3 = renderComponent({
|
|
87
|
+
value: 'Test'
|
|
88
|
+
}),
|
|
89
|
+
getByRole = _renderComponent3.getByRole;
|
|
90
|
+
var button = getByRole('button');
|
|
91
|
+
expect(button).toHaveAttribute('value', 'Test');
|
|
92
|
+
});
|
|
93
|
+
it('should render with variant outlined', function () {
|
|
94
|
+
var _renderComponent4 = renderComponent(),
|
|
95
|
+
getByRole = _renderComponent4.getByRole;
|
|
96
|
+
var button = getByRole('button');
|
|
97
|
+
expect(button).toHaveClass('MuiButton-outlined');
|
|
98
|
+
});
|
|
99
|
+
it('should render with size small', function () {
|
|
100
|
+
var _renderComponent5 = renderComponent(),
|
|
101
|
+
getByRole = _renderComponent5.getByRole;
|
|
102
|
+
var button = getByRole('button');
|
|
103
|
+
expect(button).toHaveClass('MuiButton-sizeSmall');
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
describe('disabled state', function () {
|
|
107
|
+
it('should render as disabled when disabled prop is true', function () {
|
|
108
|
+
var _renderComponent6 = renderComponent({
|
|
109
|
+
disabled: true
|
|
110
|
+
}),
|
|
111
|
+
getByRole = _renderComponent6.getByRole;
|
|
112
|
+
expect(getByRole('button')).toBeDisabled();
|
|
113
|
+
});
|
|
114
|
+
it('should not render as disabled when disabled prop is false', function () {
|
|
115
|
+
var _renderComponent7 = renderComponent({
|
|
116
|
+
disabled: false
|
|
117
|
+
}),
|
|
118
|
+
getByRole = _renderComponent7.getByRole;
|
|
119
|
+
expect(getByRole('button')).not.toBeDisabled();
|
|
120
|
+
});
|
|
121
|
+
it('should not trigger onClick when disabled', function () {
|
|
122
|
+
var _renderComponent8 = renderComponent({
|
|
123
|
+
disabled: true
|
|
124
|
+
}),
|
|
125
|
+
getByRole = _renderComponent8.getByRole;
|
|
126
|
+
_react2.fireEvent.click(getByRole('button'));
|
|
127
|
+
expect(onClick).not.toHaveBeenCalled();
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
describe('selected state', function () {
|
|
131
|
+
it('should apply selected styling when selected is true', function () {
|
|
132
|
+
var _renderComponent9 = renderComponent({
|
|
133
|
+
selected: true
|
|
134
|
+
}),
|
|
135
|
+
getByRole = _renderComponent9.getByRole;
|
|
136
|
+
var button = getByRole('button');
|
|
137
|
+
expect(button.className).toContain('MuiButton-colorSecondary');
|
|
138
|
+
});
|
|
139
|
+
it('should apply default color when selected is false', function () {
|
|
140
|
+
var _renderComponent0 = renderComponent({
|
|
141
|
+
selected: false
|
|
142
|
+
}),
|
|
143
|
+
getByRole = _renderComponent0.getByRole;
|
|
144
|
+
var button = getByRole('button');
|
|
145
|
+
expect(button.className).toContain('MuiButton-colorDefault');
|
|
146
|
+
});
|
|
147
|
+
it('should render correctly with both selected and disabled', function () {
|
|
148
|
+
var _renderComponent1 = renderComponent({
|
|
149
|
+
selected: true,
|
|
150
|
+
disabled: true
|
|
151
|
+
}),
|
|
152
|
+
getByRole = _renderComponent1.getByRole;
|
|
153
|
+
var button = getByRole('button');
|
|
154
|
+
expect(button).toBeDisabled();
|
|
155
|
+
expect(button.className).toContain('MuiButton-colorSecondary');
|
|
156
|
+
});
|
|
157
|
+
});
|
|
158
|
+
describe('interactions', function () {
|
|
159
|
+
it('should call onClick when clicked', function () {
|
|
160
|
+
var _renderComponent10 = renderComponent(),
|
|
161
|
+
getByRole = _renderComponent10.getByRole;
|
|
162
|
+
_react2.fireEvent.click(getByRole('button'));
|
|
163
|
+
expect(onClick).toHaveBeenCalledTimes(1);
|
|
164
|
+
});
|
|
165
|
+
it('should call onClick with correct event when clicked', function () {
|
|
166
|
+
var _renderComponent11 = renderComponent(),
|
|
167
|
+
getByRole = _renderComponent11.getByRole;
|
|
168
|
+
var button = getByRole('button');
|
|
169
|
+
_react2.fireEvent.click(button);
|
|
170
|
+
expect(onClick).toHaveBeenCalled();
|
|
171
|
+
expect(onClick.mock.calls[0][0]).toBeTruthy();
|
|
172
|
+
});
|
|
173
|
+
it('should handle multiple clicks', function () {
|
|
174
|
+
var _renderComponent12 = renderComponent(),
|
|
175
|
+
getByRole = _renderComponent12.getByRole;
|
|
176
|
+
var button = getByRole('button');
|
|
177
|
+
_react2.fireEvent.click(button);
|
|
178
|
+
_react2.fireEvent.click(button);
|
|
179
|
+
_react2.fireEvent.click(button);
|
|
180
|
+
expect(onClick).toHaveBeenCalledTimes(3);
|
|
181
|
+
});
|
|
182
|
+
it('should handle rapid clicks', function () {
|
|
183
|
+
var _renderComponent13 = renderComponent(),
|
|
184
|
+
getByRole = _renderComponent13.getByRole;
|
|
185
|
+
var button = getByRole('button');
|
|
186
|
+
for (var i = 0; i < 10; i++) {
|
|
187
|
+
_react2.fireEvent.click(button);
|
|
188
|
+
}
|
|
189
|
+
expect(onClick).toHaveBeenCalledTimes(10);
|
|
190
|
+
});
|
|
191
|
+
});
|
|
192
|
+
describe('edge cases', function () {
|
|
193
|
+
it('should render with empty string value', function () {
|
|
194
|
+
var _renderComponent14 = renderComponent({
|
|
195
|
+
value: ''
|
|
196
|
+
}),
|
|
197
|
+
getByRole = _renderComponent14.getByRole;
|
|
198
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
199
|
+
});
|
|
200
|
+
it('should render with undefined onClick', function () {
|
|
201
|
+
var _render = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
202
|
+
theme: theme
|
|
203
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.MiniButton, {
|
|
204
|
+
value: "Test",
|
|
205
|
+
onClick: undefined
|
|
206
|
+
}))),
|
|
207
|
+
getByRole = _render.getByRole;
|
|
208
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
209
|
+
});
|
|
210
|
+
it('should render with null onClick', function () {
|
|
211
|
+
var _render2 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
212
|
+
theme: theme
|
|
213
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.MiniButton, {
|
|
214
|
+
value: "Test",
|
|
215
|
+
onClick: null
|
|
216
|
+
}))),
|
|
217
|
+
getByRole = _render2.getByRole;
|
|
218
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
219
|
+
});
|
|
220
|
+
it('should render with very long value text', function () {
|
|
221
|
+
var longText = 'This is a very long button text that might cause layout issues';
|
|
222
|
+
var _renderComponent15 = renderComponent({
|
|
223
|
+
value: longText
|
|
224
|
+
}),
|
|
225
|
+
getByText = _renderComponent15.getByText;
|
|
226
|
+
expect(getByText(longText)).toBeInTheDocument();
|
|
227
|
+
});
|
|
228
|
+
it('should render with special characters in value', function () {
|
|
229
|
+
var specialText = 'Test <>&"\'';
|
|
230
|
+
var _renderComponent16 = renderComponent({
|
|
231
|
+
value: specialText
|
|
232
|
+
}),
|
|
233
|
+
getByText = _renderComponent16.getByText;
|
|
234
|
+
expect(getByText(specialText)).toBeInTheDocument();
|
|
235
|
+
});
|
|
236
|
+
it('should render with unicode characters in value', function () {
|
|
237
|
+
var unicodeText = 'Test 你好 🎉';
|
|
238
|
+
var _renderComponent17 = renderComponent({
|
|
239
|
+
value: unicodeText
|
|
240
|
+
}),
|
|
241
|
+
getByText = _renderComponent17.getByText;
|
|
242
|
+
expect(getByText(unicodeText)).toBeInTheDocument();
|
|
243
|
+
});
|
|
244
|
+
});
|
|
245
|
+
describe('className prop', function () {
|
|
246
|
+
it('should accept className prop without error', function () {
|
|
247
|
+
var _render3 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
248
|
+
theme: theme
|
|
249
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.MiniButton, {
|
|
250
|
+
value: "Test",
|
|
251
|
+
onClick: onClick,
|
|
252
|
+
className: "custom-class"
|
|
253
|
+
}))),
|
|
254
|
+
getByRole = _render3.getByRole;
|
|
255
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
256
|
+
});
|
|
257
|
+
});
|
|
258
|
+
});
|
|
259
|
+
describe('ToolMenu', function () {
|
|
260
|
+
var addCategory = jest.fn();
|
|
261
|
+
beforeEach(function () {
|
|
262
|
+
jest.clearAllMocks();
|
|
263
|
+
});
|
|
264
|
+
var renderComponent = function renderComponent() {
|
|
265
|
+
var extras = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
266
|
+
var defaults = {
|
|
267
|
+
addCategory: addCategory,
|
|
268
|
+
disabled: false,
|
|
269
|
+
language: 'en'
|
|
270
|
+
};
|
|
271
|
+
var props = _objectSpread(_objectSpread({}, defaults), extras);
|
|
272
|
+
return (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
273
|
+
theme: theme
|
|
274
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, props)));
|
|
275
|
+
};
|
|
276
|
+
describe('rendering', function () {
|
|
277
|
+
it('should render without crashing', function () {
|
|
278
|
+
var _renderComponent18 = renderComponent(),
|
|
279
|
+
container = _renderComponent18.container;
|
|
280
|
+
expect(container).toBeInTheDocument();
|
|
281
|
+
});
|
|
282
|
+
it('should render a div container', function () {
|
|
283
|
+
var _renderComponent19 = renderComponent(),
|
|
284
|
+
container = _renderComponent19.container;
|
|
285
|
+
expect(container.firstChild).toBeInstanceOf(HTMLDivElement);
|
|
286
|
+
});
|
|
287
|
+
it('should render MiniButton when not disabled', function () {
|
|
288
|
+
var _renderComponent20 = renderComponent({
|
|
289
|
+
disabled: false
|
|
290
|
+
}),
|
|
291
|
+
getByRole = _renderComponent20.getByRole;
|
|
292
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
293
|
+
});
|
|
294
|
+
it('should not render MiniButton when disabled', function () {
|
|
295
|
+
var _renderComponent21 = renderComponent({
|
|
296
|
+
disabled: true
|
|
297
|
+
}),
|
|
298
|
+
queryByRole = _renderComponent21.queryByRole;
|
|
299
|
+
expect(queryByRole('button')).not.toBeInTheDocument();
|
|
300
|
+
});
|
|
301
|
+
it('should render translated button text', function () {
|
|
302
|
+
var _renderComponent22 = renderComponent(),
|
|
303
|
+
getByText = _renderComponent22.getByText;
|
|
304
|
+
expect(getByText('Add Category')).toBeInTheDocument();
|
|
305
|
+
});
|
|
306
|
+
it('should use language prop for translation', function () {
|
|
307
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
308
|
+
var _renderComponent23 = renderComponent({
|
|
309
|
+
language: 'es'
|
|
310
|
+
}),
|
|
311
|
+
getByRole = _renderComponent23.getByRole;
|
|
312
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
313
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
314
|
+
lng: 'es'
|
|
315
|
+
});
|
|
316
|
+
});
|
|
317
|
+
});
|
|
318
|
+
describe('className prop', function () {
|
|
319
|
+
it('should apply custom className to container', function () {
|
|
320
|
+
var _renderComponent24 = renderComponent({
|
|
321
|
+
className: 'custom-tool-menu'
|
|
322
|
+
}),
|
|
323
|
+
container = _renderComponent24.container;
|
|
324
|
+
expect(container.firstChild).toHaveClass('custom-tool-menu');
|
|
325
|
+
});
|
|
326
|
+
it('should render without className', function () {
|
|
327
|
+
var _renderComponent25 = renderComponent({
|
|
328
|
+
className: undefined
|
|
329
|
+
}),
|
|
330
|
+
container = _renderComponent25.container;
|
|
331
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
332
|
+
});
|
|
333
|
+
it('should handle empty string className', function () {
|
|
334
|
+
var _renderComponent26 = renderComponent({
|
|
335
|
+
className: ''
|
|
336
|
+
}),
|
|
337
|
+
container = _renderComponent26.container;
|
|
338
|
+
expect(container.firstChild).toBeInTheDocument();
|
|
339
|
+
});
|
|
340
|
+
});
|
|
341
|
+
describe('disabled state', function () {
|
|
342
|
+
it('should hide button when disabled is true', function () {
|
|
343
|
+
var _renderComponent27 = renderComponent({
|
|
344
|
+
disabled: true
|
|
345
|
+
}),
|
|
346
|
+
queryByRole = _renderComponent27.queryByRole;
|
|
347
|
+
expect(queryByRole('button')).not.toBeInTheDocument();
|
|
348
|
+
});
|
|
349
|
+
it('should show button when disabled is false', function () {
|
|
350
|
+
var _renderComponent28 = renderComponent({
|
|
351
|
+
disabled: false
|
|
352
|
+
}),
|
|
353
|
+
getByRole = _renderComponent28.getByRole;
|
|
354
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
355
|
+
});
|
|
356
|
+
it('should show button when disabled is undefined', function () {
|
|
357
|
+
var _renderComponent29 = renderComponent({
|
|
358
|
+
disabled: undefined
|
|
359
|
+
}),
|
|
360
|
+
getByRole = _renderComponent29.getByRole;
|
|
361
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
362
|
+
});
|
|
363
|
+
it('should hide button when disabled is explicitly true', function () {
|
|
364
|
+
var _renderComponent30 = renderComponent({
|
|
365
|
+
disabled: true
|
|
366
|
+
}),
|
|
367
|
+
queryByRole = _renderComponent30.queryByRole;
|
|
368
|
+
expect(queryByRole('button')).toBeNull();
|
|
369
|
+
});
|
|
370
|
+
});
|
|
371
|
+
describe('addCategory functionality', function () {
|
|
372
|
+
it('should call addCategory when button is clicked', function () {
|
|
373
|
+
var _renderComponent31 = renderComponent(),
|
|
374
|
+
getByRole = _renderComponent31.getByRole;
|
|
375
|
+
_react2.fireEvent.click(getByRole('button'));
|
|
376
|
+
expect(addCategory).toHaveBeenCalledTimes(1);
|
|
377
|
+
});
|
|
378
|
+
it('should not call addCategory when disabled', function () {
|
|
379
|
+
var _renderComponent32 = renderComponent({
|
|
380
|
+
disabled: true
|
|
381
|
+
}),
|
|
382
|
+
queryByRole = _renderComponent32.queryByRole;
|
|
383
|
+
expect(queryByRole('button')).not.toBeInTheDocument();
|
|
384
|
+
expect(addCategory).not.toHaveBeenCalled();
|
|
385
|
+
});
|
|
386
|
+
it('should handle multiple clicks on add category button', function () {
|
|
387
|
+
var _renderComponent33 = renderComponent(),
|
|
388
|
+
getByRole = _renderComponent33.getByRole;
|
|
389
|
+
var button = getByRole('button');
|
|
390
|
+
_react2.fireEvent.click(button);
|
|
391
|
+
_react2.fireEvent.click(button);
|
|
392
|
+
_react2.fireEvent.click(button);
|
|
393
|
+
expect(addCategory).toHaveBeenCalledTimes(3);
|
|
394
|
+
});
|
|
395
|
+
it('should render with undefined addCategory without crashing', function () {
|
|
396
|
+
var _render4 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
397
|
+
theme: theme
|
|
398
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
399
|
+
addCategory: undefined,
|
|
400
|
+
language: "en"
|
|
401
|
+
}))),
|
|
402
|
+
container = _render4.container;
|
|
403
|
+
expect(container).toBeInTheDocument();
|
|
404
|
+
});
|
|
405
|
+
});
|
|
406
|
+
describe('language prop', function () {
|
|
407
|
+
it('should pass language to translator', function () {
|
|
408
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
409
|
+
renderComponent({
|
|
410
|
+
language: 'fr'
|
|
411
|
+
});
|
|
412
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
413
|
+
lng: 'fr'
|
|
414
|
+
});
|
|
415
|
+
});
|
|
416
|
+
it('should handle default english language', function () {
|
|
417
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
418
|
+
renderComponent({
|
|
419
|
+
language: 'en'
|
|
420
|
+
});
|
|
421
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
422
|
+
lng: 'en'
|
|
423
|
+
});
|
|
424
|
+
});
|
|
425
|
+
it('should handle undefined language', function () {
|
|
426
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
427
|
+
renderComponent({
|
|
428
|
+
language: undefined
|
|
429
|
+
});
|
|
430
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
431
|
+
lng: undefined
|
|
432
|
+
});
|
|
433
|
+
});
|
|
434
|
+
it('should handle empty string language', function () {
|
|
435
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
436
|
+
renderComponent({
|
|
437
|
+
language: ''
|
|
438
|
+
});
|
|
439
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
440
|
+
lng: ''
|
|
441
|
+
});
|
|
442
|
+
});
|
|
443
|
+
it('should handle non-standard language codes', function () {
|
|
444
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
445
|
+
renderComponent({
|
|
446
|
+
language: 'zh-CN'
|
|
447
|
+
});
|
|
448
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
449
|
+
lng: 'zh-CN'
|
|
450
|
+
});
|
|
451
|
+
});
|
|
452
|
+
});
|
|
453
|
+
describe('edge cases', function () {
|
|
454
|
+
it('should render with all props undefined', function () {
|
|
455
|
+
var _render5 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
456
|
+
theme: theme
|
|
457
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, null))),
|
|
458
|
+
container = _render5.container;
|
|
459
|
+
expect(container).toBeInTheDocument();
|
|
460
|
+
});
|
|
461
|
+
it('should render with null props', function () {
|
|
462
|
+
var _render6 = (0, _react2.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
463
|
+
theme: theme
|
|
464
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
465
|
+
addCategory: null,
|
|
466
|
+
disabled: null,
|
|
467
|
+
language: null
|
|
468
|
+
}))),
|
|
469
|
+
container = _render6.container;
|
|
470
|
+
expect(container).toBeInTheDocument();
|
|
471
|
+
});
|
|
472
|
+
it('should handle component unmounting', function () {
|
|
473
|
+
var _renderComponent34 = renderComponent(),
|
|
474
|
+
unmount = _renderComponent34.unmount;
|
|
475
|
+
expect(function () {
|
|
476
|
+
return unmount();
|
|
477
|
+
}).not.toThrow();
|
|
478
|
+
});
|
|
479
|
+
it('should handle re-rendering with different props', function () {
|
|
480
|
+
var _renderComponent35 = renderComponent({
|
|
481
|
+
disabled: false
|
|
482
|
+
}),
|
|
483
|
+
rerender = _renderComponent35.rerender,
|
|
484
|
+
getByRole = _renderComponent35.getByRole,
|
|
485
|
+
queryByRole = _renderComponent35.queryByRole;
|
|
486
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
487
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
488
|
+
theme: theme
|
|
489
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
490
|
+
addCategory: addCategory,
|
|
491
|
+
disabled: true,
|
|
492
|
+
language: "en"
|
|
493
|
+
})));
|
|
494
|
+
expect(queryByRole('button')).not.toBeInTheDocument();
|
|
495
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
496
|
+
theme: theme
|
|
497
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
498
|
+
addCategory: addCategory,
|
|
499
|
+
disabled: false,
|
|
500
|
+
language: "es"
|
|
501
|
+
})));
|
|
502
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
503
|
+
});
|
|
504
|
+
it('should handle rapid prop changes', function () {
|
|
505
|
+
var _renderComponent36 = renderComponent({
|
|
506
|
+
disabled: false
|
|
507
|
+
}),
|
|
508
|
+
rerender = _renderComponent36.rerender,
|
|
509
|
+
getByRole = _renderComponent36.getByRole;
|
|
510
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
511
|
+
for (var i = 0; i < 10; i++) {
|
|
512
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
513
|
+
theme: theme
|
|
514
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
515
|
+
addCategory: addCategory,
|
|
516
|
+
disabled: i % 2 === 0,
|
|
517
|
+
language: "en"
|
|
518
|
+
})));
|
|
519
|
+
}
|
|
520
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
521
|
+
});
|
|
522
|
+
});
|
|
523
|
+
describe('component lifecycle', function () {
|
|
524
|
+
it('should render as class component', function () {
|
|
525
|
+
var _renderComponent37 = renderComponent(),
|
|
526
|
+
container = _renderComponent37.container;
|
|
527
|
+
expect(container).toBeInTheDocument();
|
|
528
|
+
});
|
|
529
|
+
it('should handle updates correctly', function () {
|
|
530
|
+
var _renderComponent38 = renderComponent({
|
|
531
|
+
language: 'en'
|
|
532
|
+
}),
|
|
533
|
+
rerender = _renderComponent38.rerender,
|
|
534
|
+
getByRole = _renderComponent38.getByRole;
|
|
535
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
536
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
537
|
+
theme: theme
|
|
538
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
539
|
+
addCategory: addCategory,
|
|
540
|
+
disabled: false,
|
|
541
|
+
language: "fr"
|
|
542
|
+
})));
|
|
543
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
544
|
+
});
|
|
545
|
+
it('should cleanup properly on unmount', function () {
|
|
546
|
+
var _renderComponent39 = renderComponent(),
|
|
547
|
+
unmount = _renderComponent39.unmount;
|
|
548
|
+
expect(function () {
|
|
549
|
+
return unmount();
|
|
550
|
+
}).not.toThrow();
|
|
551
|
+
});
|
|
552
|
+
});
|
|
553
|
+
describe('accessibility', function () {
|
|
554
|
+
it('should have accessible button element', function () {
|
|
555
|
+
var _renderComponent40 = renderComponent(),
|
|
556
|
+
getByRole = _renderComponent40.getByRole;
|
|
557
|
+
var button = getByRole('button');
|
|
558
|
+
expect(button).toBeInTheDocument();
|
|
559
|
+
});
|
|
560
|
+
it('should have button with text content', function () {
|
|
561
|
+
var _renderComponent41 = renderComponent(),
|
|
562
|
+
getByRole = _renderComponent41.getByRole;
|
|
563
|
+
var button = getByRole('button');
|
|
564
|
+
expect(button).toHaveTextContent('Add Category');
|
|
565
|
+
});
|
|
566
|
+
it('should maintain button accessibility when enabled', function () {
|
|
567
|
+
var _renderComponent42 = renderComponent({
|
|
568
|
+
disabled: false
|
|
569
|
+
}),
|
|
570
|
+
getByRole = _renderComponent42.getByRole;
|
|
571
|
+
var button = getByRole('button');
|
|
572
|
+
expect(button).not.toBeDisabled();
|
|
573
|
+
expect(button).toHaveTextContent('Add Category');
|
|
574
|
+
});
|
|
575
|
+
});
|
|
576
|
+
describe('integration', function () {
|
|
577
|
+
it('should work correctly with all props provided', function () {
|
|
578
|
+
var customAddCategory = jest.fn();
|
|
579
|
+
var _renderComponent43 = renderComponent({
|
|
580
|
+
addCategory: customAddCategory,
|
|
581
|
+
disabled: false,
|
|
582
|
+
language: 'de',
|
|
583
|
+
className: 'test-class'
|
|
584
|
+
}),
|
|
585
|
+
getByRole = _renderComponent43.getByRole;
|
|
586
|
+
var button = getByRole('button');
|
|
587
|
+
expect(button).toBeInTheDocument();
|
|
588
|
+
_react2.fireEvent.click(button);
|
|
589
|
+
expect(customAddCategory).toHaveBeenCalledTimes(1);
|
|
590
|
+
});
|
|
591
|
+
it('should toggle between enabled and disabled states', function () {
|
|
592
|
+
var _renderComponent44 = renderComponent({
|
|
593
|
+
disabled: false
|
|
594
|
+
}),
|
|
595
|
+
rerender = _renderComponent44.rerender,
|
|
596
|
+
getByRole = _renderComponent44.getByRole,
|
|
597
|
+
queryByRole = _renderComponent44.queryByRole;
|
|
598
|
+
expect(getByRole('button')).toBeInTheDocument();
|
|
599
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
600
|
+
theme: theme
|
|
601
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
602
|
+
addCategory: addCategory,
|
|
603
|
+
disabled: true,
|
|
604
|
+
language: "en"
|
|
605
|
+
})));
|
|
606
|
+
expect(queryByRole('button')).not.toBeInTheDocument();
|
|
607
|
+
});
|
|
608
|
+
it('should handle language switching', function () {
|
|
609
|
+
var Translator = require('@pie-lib/translator')["default"];
|
|
610
|
+
var _renderComponent45 = renderComponent({
|
|
611
|
+
language: 'en'
|
|
612
|
+
}),
|
|
613
|
+
rerender = _renderComponent45.rerender;
|
|
614
|
+
rerender(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
|
|
615
|
+
theme: theme
|
|
616
|
+
}, /*#__PURE__*/_react["default"].createElement(_toolMenu.ToolMenu, {
|
|
617
|
+
addCategory: addCategory,
|
|
618
|
+
disabled: false,
|
|
619
|
+
language: "es"
|
|
620
|
+
})));
|
|
621
|
+
expect(Translator.translator.t).toHaveBeenCalledWith('charting.addCategory', {
|
|
622
|
+
lng: 'es'
|
|
623
|
+
});
|
|
624
|
+
});
|
|
625
|
+
});
|
|
626
|
+
});
|
|
627
|
+
//# sourceMappingURL=tool-menu.test.js.map
|