@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.
Files changed (63) hide show
  1. package/CHANGELOG.md +0 -44
  2. package/lib/__tests__/actions-button.test.js +332 -0
  3. package/lib/__tests__/actions-button.test.js.map +1 -0
  4. package/lib/__tests__/axes.test.js +746 -0
  5. package/lib/__tests__/axes.test.js.map +1 -0
  6. package/lib/__tests__/chart-setup.test.js +796 -0
  7. package/lib/__tests__/chart-setup.test.js.map +1 -0
  8. package/lib/__tests__/chart-type.test.js +25 -0
  9. package/lib/__tests__/chart-type.test.js.map +1 -0
  10. package/lib/__tests__/chart.test.js +103 -0
  11. package/lib/__tests__/chart.test.js.map +1 -0
  12. package/lib/__tests__/grid.test.js +39 -0
  13. package/lib/__tests__/grid.test.js.map +1 -0
  14. package/lib/__tests__/key-legend.test.js +235 -0
  15. package/lib/__tests__/key-legend.test.js.map +1 -0
  16. package/lib/__tests__/mark-label.test.js +46 -0
  17. package/lib/__tests__/mark-label.test.js.map +1 -0
  18. package/lib/__tests__/tool-menu.test.js +627 -0
  19. package/lib/__tests__/tool-menu.test.js.map +1 -0
  20. package/lib/__tests__/utils.js +56 -0
  21. package/lib/__tests__/utils.js.map +1 -0
  22. package/lib/__tests__/utils.test.js +186 -0
  23. package/lib/__tests__/utils.test.js.map +1 -0
  24. package/lib/bars/__tests__/bar.test.js +53 -0
  25. package/lib/bars/__tests__/bar.test.js.map +1 -0
  26. package/lib/bars/__tests__/histogram.test.js +53 -0
  27. package/lib/bars/__tests__/histogram.test.js.map +1 -0
  28. package/lib/bars/__tests__/utils.js +50 -0
  29. package/lib/bars/__tests__/utils.js.map +1 -0
  30. package/lib/bars/common/__tests__/bars.test.js +76 -0
  31. package/lib/bars/common/__tests__/bars.test.js.map +1 -0
  32. package/lib/bars/common/__tests__/utils.js +50 -0
  33. package/lib/bars/common/__tests__/utils.js.map +1 -0
  34. package/lib/common/__tests__/correctness-indicators.test.js +887 -0
  35. package/lib/common/__tests__/correctness-indicators.test.js.map +1 -0
  36. package/lib/common/__tests__/drag-handle.test.js +73 -0
  37. package/lib/common/__tests__/drag-handle.test.js.map +1 -0
  38. package/lib/common/__tests__/utils.js +50 -0
  39. package/lib/common/__tests__/utils.js.map +1 -0
  40. package/lib/line/__tests__/line-cross.test.js +617 -0
  41. package/lib/line/__tests__/line-cross.test.js.map +1 -0
  42. package/lib/line/__tests__/line-dot.test.js +47 -0
  43. package/lib/line/__tests__/line-dot.test.js.map +1 -0
  44. package/lib/line/__tests__/utils.js +56 -0
  45. package/lib/line/__tests__/utils.js.map +1 -0
  46. package/lib/line/common/__tests__/drag-handle.test.js +73 -0
  47. package/lib/line/common/__tests__/drag-handle.test.js.map +1 -0
  48. package/lib/line/common/__tests__/line.test.js +92 -0
  49. package/lib/line/common/__tests__/line.test.js.map +1 -0
  50. package/lib/line/common/__tests__/utils.js +50 -0
  51. package/lib/line/common/__tests__/utils.js.map +1 -0
  52. package/lib/plot/__tests__/dot.test.js +513 -0
  53. package/lib/plot/__tests__/dot.test.js.map +1 -0
  54. package/lib/plot/__tests__/line.test.js +566 -0
  55. package/lib/plot/__tests__/line.test.js.map +1 -0
  56. package/lib/plot/__tests__/utils.js +50 -0
  57. package/lib/plot/__tests__/utils.js.map +1 -0
  58. package/lib/plot/common/__tests__/plot.test.js +79 -0
  59. package/lib/plot/common/__tests__/plot.test.js.map +1 -0
  60. package/lib/plot/common/__tests__/utils.js +50 -0
  61. package/lib/plot/common/__tests__/utils.js.map +1 -0
  62. package/package.json +5 -5
  63. package/LICENSE.md +0 -5
@@ -0,0 +1,513 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
6
+ var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
7
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var _testUtils = require("@pie-lib/test-utils");
10
+ var _styles = require("@mui/material/styles");
11
+ var _dot = _interopRequireWildcard(require("../dot"));
12
+ var _utils = require("./utils");
13
+ var _excluded = ["cx", "cy", "r"];
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
+ 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; }
16
+ 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; }
17
+ jest.mock('@mui/icons-material/Check', function () {
18
+ return function Check(props) {
19
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
20
+ "data-testid": "check-icon"
21
+ }, props));
22
+ };
23
+ });
24
+ jest.mock('@visx/shape', function () {
25
+ return {
26
+ Circle: function Circle(_ref) {
27
+ var cx = _ref.cx,
28
+ cy = _ref.cy,
29
+ r = _ref.r,
30
+ rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
31
+ return /*#__PURE__*/_react["default"].createElement("circle", (0, _extends2["default"])({
32
+ cx: cx,
33
+ cy: cy,
34
+ r: r
35
+ }, rest));
36
+ }
37
+ };
38
+ });
39
+ var theme;
40
+ beforeAll(function () {
41
+ theme = (0, _styles.createTheme)();
42
+ });
43
+ describe('DotPlot', function () {
44
+ var renderComponent = function renderComponent(extras) {
45
+ var defaults = {
46
+ classes: {},
47
+ className: 'className',
48
+ graphProps: (0, _utils.graphProps)(),
49
+ xBand: function xBand() {
50
+ return {
51
+ bandwidth: function bandwidth() {}
52
+ };
53
+ }
54
+ };
55
+ var props = _objectSpread(_objectSpread({}, defaults), extras);
56
+ return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
57
+ theme: theme
58
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, props))));
59
+ };
60
+ describe('rendering', function () {
61
+ it('renders dot plot', function () {
62
+ var _renderComponent = renderComponent(),
63
+ container = _renderComponent.container;
64
+ expect(container.firstChild).toBeInTheDocument();
65
+ });
66
+ it('renders without graphProps', function () {
67
+ var _renderComponent2 = renderComponent({
68
+ graphProps: undefined
69
+ }),
70
+ container = _renderComponent2.container;
71
+ expect(container.firstChild).toBeInTheDocument();
72
+ });
73
+ it('renders with data array', function () {
74
+ var data = [{
75
+ value: 1,
76
+ label: 'A'
77
+ }, {
78
+ value: 2,
79
+ label: 'B'
80
+ }, {
81
+ value: 3,
82
+ label: 'C'
83
+ }];
84
+ var _renderComponent3 = renderComponent({
85
+ data: data
86
+ }),
87
+ container = _renderComponent3.container;
88
+ expect(container.firstChild).toBeInTheDocument();
89
+ });
90
+ it('renders with empty data array', function () {
91
+ var _renderComponent4 = renderComponent({
92
+ data: []
93
+ }),
94
+ container = _renderComponent4.container;
95
+ expect(container.firstChild).toBeInTheDocument();
96
+ });
97
+ it('renders with null data', function () {
98
+ var _renderComponent5 = renderComponent({
99
+ data: null
100
+ }),
101
+ container = _renderComponent5.container;
102
+ expect(container.firstChild).toBeInTheDocument();
103
+ });
104
+ it('renders with undefined data', function () {
105
+ var _renderComponent6 = renderComponent({
106
+ data: undefined
107
+ }),
108
+ container = _renderComponent6.container;
109
+ expect(container.firstChild).toBeInTheDocument();
110
+ });
111
+ it('renders with custom className', function () {
112
+ var _renderComponent7 = renderComponent({
113
+ className: 'custom-dot-plot'
114
+ }),
115
+ container = _renderComponent7.container;
116
+ expect(container.firstChild).toBeInTheDocument();
117
+ });
118
+ it('renders with onChange handler', function () {
119
+ var onChange = jest.fn();
120
+ var _renderComponent8 = renderComponent({
121
+ onChange: onChange
122
+ }),
123
+ container = _renderComponent8.container;
124
+ expect(container.firstChild).toBeInTheDocument();
125
+ });
126
+ it('renders in defineChart mode', function () {
127
+ var _renderComponent9 = renderComponent({
128
+ defineChart: true
129
+ }),
130
+ container = _renderComponent9.container;
131
+ expect(container.firstChild).toBeInTheDocument();
132
+ });
133
+ it('renders with correctData', function () {
134
+ var data = [{
135
+ value: 2,
136
+ label: 'A'
137
+ }];
138
+ var correctData = [{
139
+ value: 3,
140
+ label: 'A'
141
+ }];
142
+ var _renderComponent0 = renderComponent({
143
+ data: data,
144
+ correctData: correctData
145
+ }),
146
+ container = _renderComponent0.container;
147
+ expect(container.firstChild).toBeInTheDocument();
148
+ });
149
+ });
150
+ describe('graphProps handling', function () {
151
+ it('handles graphProps with missing scale', function () {
152
+ var props = (0, _utils.graphProps)();
153
+ delete props.scale;
154
+ var _renderComponent1 = renderComponent({
155
+ graphProps: props
156
+ }),
157
+ container = _renderComponent1.container;
158
+ expect(container.firstChild).toBeInTheDocument();
159
+ });
160
+ it('handles graphProps with missing size', function () {
161
+ var props = (0, _utils.graphProps)();
162
+ delete props.size;
163
+ var _renderComponent10 = renderComponent({
164
+ graphProps: props
165
+ }),
166
+ container = _renderComponent10.container;
167
+ expect(container.firstChild).toBeInTheDocument();
168
+ });
169
+ it('handles graphProps with empty scale object', function () {
170
+ var props = (0, _utils.graphProps)();
171
+ props.scale = {};
172
+ var _renderComponent11 = renderComponent({
173
+ graphProps: props
174
+ }),
175
+ container = _renderComponent11.container;
176
+ expect(container.firstChild).toBeInTheDocument();
177
+ });
178
+ it('handles graphProps with empty size object', function () {
179
+ var props = (0, _utils.graphProps)();
180
+ props.size = {};
181
+ var _renderComponent12 = renderComponent({
182
+ graphProps: props
183
+ }),
184
+ container = _renderComponent12.container;
185
+ expect(container.firstChild).toBeInTheDocument();
186
+ });
187
+ });
188
+ describe('data variations', function () {
189
+ it('renders with single data point', function () {
190
+ var data = [{
191
+ value: 1,
192
+ label: 'A'
193
+ }];
194
+ var _renderComponent13 = renderComponent({
195
+ data: data
196
+ }),
197
+ container = _renderComponent13.container;
198
+ expect(container.firstChild).toBeInTheDocument();
199
+ });
200
+ it('renders with multiple data points', function () {
201
+ var data = [{
202
+ value: 1,
203
+ label: 'A'
204
+ }, {
205
+ value: 2,
206
+ label: 'B'
207
+ }, {
208
+ value: 3,
209
+ label: 'C'
210
+ }, {
211
+ value: 4,
212
+ label: 'D'
213
+ }];
214
+ var _renderComponent14 = renderComponent({
215
+ data: data
216
+ }),
217
+ container = _renderComponent14.container;
218
+ expect(container.firstChild).toBeInTheDocument();
219
+ });
220
+ it('renders with zero values', function () {
221
+ var data = [{
222
+ value: 0,
223
+ label: 'A'
224
+ }, {
225
+ value: 0,
226
+ label: 'B'
227
+ }];
228
+ var _renderComponent15 = renderComponent({
229
+ data: data
230
+ }),
231
+ container = _renderComponent15.container;
232
+ expect(container.firstChild).toBeInTheDocument();
233
+ });
234
+ it('renders with mixed values', function () {
235
+ var data = [{
236
+ value: 0,
237
+ label: 'A'
238
+ }, {
239
+ value: 5,
240
+ label: 'B'
241
+ }, {
242
+ value: 1,
243
+ label: 'C'
244
+ }];
245
+ var _renderComponent16 = renderComponent({
246
+ data: data
247
+ }),
248
+ container = _renderComponent16.container;
249
+ expect(container.firstChild).toBeInTheDocument();
250
+ });
251
+ it('renders with large values', function () {
252
+ var data = [{
253
+ value: 100,
254
+ label: 'A'
255
+ }, {
256
+ value: 200,
257
+ label: 'B'
258
+ }];
259
+ var _renderComponent17 = renderComponent({
260
+ data: data
261
+ }),
262
+ container = _renderComponent17.container;
263
+ expect(container.firstChild).toBeInTheDocument();
264
+ });
265
+ it('renders with correctness data', function () {
266
+ var data = [{
267
+ value: 2,
268
+ label: 'A',
269
+ correctness: {
270
+ value: 'correct',
271
+ label: 'Correct'
272
+ }
273
+ }, {
274
+ value: 3,
275
+ label: 'B',
276
+ correctness: {
277
+ value: 'correct',
278
+ label: 'Correct'
279
+ }
280
+ }];
281
+ var _renderComponent18 = renderComponent({
282
+ data: data
283
+ }),
284
+ container = _renderComponent18.container;
285
+ expect(container.firstChild).toBeInTheDocument();
286
+ });
287
+ it('renders with incorrect correctness and correctData', function () {
288
+ var data = [{
289
+ value: 2,
290
+ label: 'A',
291
+ correctness: {
292
+ value: 'incorrect',
293
+ label: 'Incorrect'
294
+ }
295
+ }, {
296
+ value: 3,
297
+ label: 'B',
298
+ correctness: {
299
+ value: 'incorrect',
300
+ label: 'Incorrect'
301
+ }
302
+ }];
303
+ var correctData = [{
304
+ value: 3,
305
+ label: 'A'
306
+ }, {
307
+ value: 4,
308
+ label: 'B'
309
+ }];
310
+ var _renderComponent19 = renderComponent({
311
+ data: data,
312
+ correctData: correctData
313
+ }),
314
+ container = _renderComponent19.container;
315
+ expect(container.firstChild).toBeInTheDocument();
316
+ });
317
+ it('renders with interactive data points', function () {
318
+ var data = [{
319
+ value: 2,
320
+ label: 'A',
321
+ interactive: true
322
+ }, {
323
+ value: 3,
324
+ label: 'B',
325
+ interactive: false
326
+ }];
327
+ var _renderComponent20 = renderComponent({
328
+ data: data
329
+ }),
330
+ container = _renderComponent20.container;
331
+ expect(container.firstChild).toBeInTheDocument();
332
+ });
333
+ });
334
+ describe('callbacks', function () {
335
+ it('passes onChange handler to Plot component', function () {
336
+ var onChange = jest.fn();
337
+ var data = [{
338
+ value: 1,
339
+ label: 'A'
340
+ }];
341
+ var _renderComponent21 = renderComponent({
342
+ data: data,
343
+ onChange: onChange
344
+ }),
345
+ container = _renderComponent21.container;
346
+ expect(container.firstChild).toBeInTheDocument();
347
+ });
348
+ it('handles onChangeCategory callback', function () {
349
+ var onChangeCategory = jest.fn();
350
+ var data = [{
351
+ value: 1,
352
+ label: 'A'
353
+ }];
354
+ var _renderComponent22 = renderComponent({
355
+ data: data,
356
+ onChangeCategory: onChangeCategory
357
+ }),
358
+ container = _renderComponent22.container;
359
+ expect(container.firstChild).toBeInTheDocument();
360
+ });
361
+ });
362
+ describe('component', function () {
363
+ it('returns correct chart object', function () {
364
+ var chart = (0, _dot["default"])();
365
+ expect(chart).toEqual({
366
+ type: 'dotPlot',
367
+ Component: _dot.DotPlot,
368
+ name: 'Dot Plot'
369
+ });
370
+ });
371
+ it('returns object with Component that can be rendered', function () {
372
+ var chart = (0, _dot["default"])();
373
+ var Component = chart.Component;
374
+ var _render = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(Component, {
375
+ graphProps: (0, _utils.graphProps)()
376
+ })),
377
+ container = _render.container;
378
+ expect(container.firstChild).toBeInTheDocument();
379
+ });
380
+ });
381
+ });
382
+ describe('CustomBarElement (Dot)', function () {
383
+ var mockScale = {
384
+ y: jest.fn(function (n) {
385
+ return n * 10;
386
+ })
387
+ };
388
+ it('renders a circle element', function () {
389
+ var data = [{
390
+ value: 1,
391
+ label: 'A'
392
+ }];
393
+ var _render2 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
394
+ theme: theme
395
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
396
+ data: data,
397
+ graphProps: (0, _utils.graphProps)()
398
+ })))),
399
+ container = _render2.container;
400
+ expect(container).toBeInTheDocument();
401
+ });
402
+ it('renders with dottedOverline prop', function () {
403
+ var data = [{
404
+ value: 2,
405
+ label: 'A',
406
+ correctness: {
407
+ value: 'incorrect'
408
+ }
409
+ }];
410
+ var correctData = [{
411
+ value: 3,
412
+ label: 'A'
413
+ }];
414
+ var _render3 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
415
+ theme: theme
416
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
417
+ data: data,
418
+ graphProps: (0, _utils.graphProps)(),
419
+ correctData: correctData
420
+ })))),
421
+ container = _render3.container;
422
+ expect(container).toBeInTheDocument();
423
+ });
424
+ it('renders without dottedOverline prop', function () {
425
+ var data = [{
426
+ value: 2,
427
+ label: 'A'
428
+ }];
429
+ var _render4 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
430
+ theme: theme
431
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
432
+ data: data,
433
+ graphProps: (0, _utils.graphProps)()
434
+ })))),
435
+ container = _render4.container;
436
+ expect(container).toBeInTheDocument();
437
+ });
438
+ it('calculates correct circle position', function () {
439
+ var data = [{
440
+ value: 3,
441
+ label: 'A'
442
+ }];
443
+ var _render5 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
444
+ theme: theme
445
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
446
+ data: data,
447
+ graphProps: (0, _utils.graphProps)()
448
+ })))),
449
+ container = _render5.container;
450
+ expect(container).toBeInTheDocument();
451
+ });
452
+ it('handles zero pointDiameter', function () {
453
+ var props = (0, _utils.graphProps)();
454
+ props.size = {
455
+ width: 0,
456
+ height: 0
457
+ };
458
+ var data = [{
459
+ value: 1,
460
+ label: 'A'
461
+ }];
462
+ var _render6 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
463
+ theme: theme
464
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
465
+ data: data,
466
+ graphProps: props
467
+ })))),
468
+ container = _render6.container;
469
+ expect(container).toBeInTheDocument();
470
+ });
471
+ it('handles large pointDiameter values', function () {
472
+ var props = (0, _utils.graphProps)();
473
+ props.size = {
474
+ width: 1000,
475
+ height: 1000
476
+ };
477
+ var data = [{
478
+ value: 1,
479
+ label: 'A'
480
+ }];
481
+ var _render7 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
482
+ theme: theme
483
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
484
+ data: data,
485
+ graphProps: props
486
+ })))),
487
+ container = _render7.container;
488
+ expect(container).toBeInTheDocument();
489
+ });
490
+ it('renders dotted circle with correct styling when dottedOverline is true', function () {
491
+ var data = [{
492
+ value: 2,
493
+ label: 'A',
494
+ correctness: {
495
+ value: 'incorrect'
496
+ }
497
+ }];
498
+ var correctData = [{
499
+ value: 3,
500
+ label: 'A'
501
+ }];
502
+ var _render8 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_styles.ThemeProvider, {
503
+ theme: theme
504
+ }, /*#__PURE__*/_react["default"].createElement("svg", null, /*#__PURE__*/_react["default"].createElement(_dot.DotPlot, {
505
+ data: data,
506
+ graphProps: (0, _utils.graphProps)(),
507
+ correctData: correctData
508
+ })))),
509
+ container = _render8.container;
510
+ expect(container).toBeInTheDocument();
511
+ });
512
+ });
513
+ //# sourceMappingURL=dot.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dot.test.js","names":["_react","_interopRequireDefault","require","_testUtils","_styles","_dot","_interopRequireWildcard","_utils","_excluded","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","jest","mock","Check","props","createElement","_extends2","Circle","_ref","cx","cy","rest","_objectWithoutProperties2","theme","beforeAll","createTheme","describe","renderComponent","extras","defaults","classes","className","graphProps","xBand","bandwidth","render","ThemeProvider","DotPlot","it","_renderComponent","container","expect","firstChild","toBeInTheDocument","_renderComponent2","undefined","data","value","label","_renderComponent3","_renderComponent4","_renderComponent5","_renderComponent6","_renderComponent7","onChange","fn","_renderComponent8","_renderComponent9","defineChart","correctData","_renderComponent0","scale","_renderComponent1","size","_renderComponent10","_renderComponent11","_renderComponent12","_renderComponent13","_renderComponent14","_renderComponent15","_renderComponent16","_renderComponent17","correctness","_renderComponent18","_renderComponent19","interactive","_renderComponent20","_renderComponent21","onChangeCategory","_renderComponent22","chart","Dot","toEqual","type","Component","name","_render","mockScale","y","_render2","_render3","_render4","_render5","width","height","_render6","_render7","_render8"],"sources":["../../../src/plot/__tests__/dot.test.jsx"],"sourcesContent":["import React from 'react';\nimport { render } from '@pie-lib/test-utils';\nimport { createTheme, ThemeProvider } from '@mui/material/styles';\nimport Dot, { DotPlot } from '../dot';\nimport { graphProps } from './utils';\n\njest.mock('@mui/icons-material/Check', () => {\n return function Check(props) {\n return <div data-testid=\"check-icon\" {...props} />;\n };\n});\n\njest.mock('@visx/shape', () => ({\n Circle: ({ cx, cy, r, ...rest }) => <circle cx={cx} cy={cy} r={r} {...rest} />,\n}));\n\nlet theme;\n\nbeforeAll(() => {\n theme = createTheme();\n});\n\ndescribe('DotPlot', () => {\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n graphProps: graphProps(),\n xBand: () => {\n return {\n bandwidth: () => {},\n };\n },\n };\n const props = { ...defaults, ...extras };\n return render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot {...props} />\n </svg>\n </ThemeProvider>,\n );\n };\n\n describe('rendering', () => {\n it('renders dot plot', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders without graphProps', () => {\n const { container } = renderComponent({ graphProps: undefined });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with data array', () => {\n const data = [\n { value: 1, label: 'A' },\n { value: 2, label: 'B' },\n { value: 3, label: 'C' },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with empty data array', () => {\n const { container } = renderComponent({ data: [] });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with null data', () => {\n const { container } = renderComponent({ data: null });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with undefined data', () => {\n const { container } = renderComponent({ data: undefined });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with custom className', () => {\n const { container } = renderComponent({ className: 'custom-dot-plot' });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with onChange handler', () => {\n const onChange = jest.fn();\n const { container } = renderComponent({ onChange });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders in defineChart mode', () => {\n const { container } = renderComponent({ defineChart: true });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with correctData', () => {\n const data = [{ value: 2, label: 'A' }];\n const correctData = [{ value: 3, label: 'A' }];\n const { container } = renderComponent({ data, correctData });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('graphProps handling', () => {\n it('handles graphProps with missing scale', () => {\n const props = graphProps();\n delete props.scale;\n const { container } = renderComponent({ graphProps: props });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles graphProps with missing size', () => {\n const props = graphProps();\n delete props.size;\n const { container } = renderComponent({ graphProps: props });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles graphProps with empty scale object', () => {\n const props = graphProps();\n props.scale = {};\n const { container } = renderComponent({ graphProps: props });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles graphProps with empty size object', () => {\n const props = graphProps();\n props.size = {};\n const { container } = renderComponent({ graphProps: props });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('data variations', () => {\n it('renders with single data point', () => {\n const data = [{ value: 1, label: 'A' }];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with multiple data points', () => {\n const data = [\n { value: 1, label: 'A' },\n { value: 2, label: 'B' },\n { value: 3, label: 'C' },\n { value: 4, label: 'D' },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with zero values', () => {\n const data = [\n { value: 0, label: 'A' },\n { value: 0, label: 'B' },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with mixed values', () => {\n const data = [\n { value: 0, label: 'A' },\n { value: 5, label: 'B' },\n { value: 1, label: 'C' },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with large values', () => {\n const data = [\n { value: 100, label: 'A' },\n { value: 200, label: 'B' },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with correctness data', () => {\n const data = [\n { value: 2, label: 'A', correctness: { value: 'correct', label: 'Correct' } },\n { value: 3, label: 'B', correctness: { value: 'correct', label: 'Correct' } },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with incorrect correctness and correctData', () => {\n const data = [\n { value: 2, label: 'A', correctness: { value: 'incorrect', label: 'Incorrect' } },\n { value: 3, label: 'B', correctness: { value: 'incorrect', label: 'Incorrect' } },\n ];\n const correctData = [\n { value: 3, label: 'A' },\n { value: 4, label: 'B' },\n ];\n const { container } = renderComponent({ data, correctData });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with interactive data points', () => {\n const data = [\n { value: 2, label: 'A', interactive: true },\n { value: 3, label: 'B', interactive: false },\n ];\n const { container } = renderComponent({ data });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('callbacks', () => {\n it('passes onChange handler to Plot component', () => {\n const onChange = jest.fn();\n const data = [{ value: 1, label: 'A' }];\n const { container } = renderComponent({ data, onChange });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles onChangeCategory callback', () => {\n const onChangeCategory = jest.fn();\n const data = [{ value: 1, label: 'A' }];\n const { container } = renderComponent({ data, onChangeCategory });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('component', () => {\n it('returns correct chart object', () => {\n const chart = Dot();\n\n expect(chart).toEqual({\n type: 'dotPlot',\n Component: DotPlot,\n name: 'Dot Plot',\n });\n });\n\n it('returns object with Component that can be rendered', () => {\n const chart = Dot();\n const { Component } = chart;\n\n const { container } = render(<Component graphProps={graphProps()} />);\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n});\n\ndescribe('CustomBarElement (Dot)', () => {\n const mockScale = {\n y: jest.fn((n) => n * 10),\n };\n\n it('renders a circle element', () => {\n const data = [{ value: 1, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={graphProps()} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('renders with dottedOverline prop', () => {\n const data = [{ value: 2, label: 'A', correctness: { value: 'incorrect' } }];\n const correctData = [{ value: 3, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={graphProps()} correctData={correctData} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('renders without dottedOverline prop', () => {\n const data = [{ value: 2, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={graphProps()} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('calculates correct circle position', () => {\n const data = [{ value: 3, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={graphProps()} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('handles zero pointDiameter', () => {\n const props = graphProps();\n props.size = { width: 0, height: 0 };\n const data = [{ value: 1, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={props} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('handles large pointDiameter values', () => {\n const props = graphProps();\n props.size = { width: 1000, height: 1000 };\n const data = [{ value: 1, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={props} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n\n it('renders dotted circle with correct styling when dottedOverline is true', () => {\n const data = [{ value: 2, label: 'A', correctness: { value: 'incorrect' } }];\n const correctData = [{ value: 3, label: 'A' }];\n const { container } = render(\n <ThemeProvider theme={theme}>\n <svg>\n <DotPlot data={data} graphProps={graphProps()} correctData={correctData} />\n </svg>\n </ThemeProvider>,\n );\n expect(container).toBeInTheDocument();\n });\n});\n"],"mappings":"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","ignoreList":[]}