@pie-lib/graphing-solution-set 4.1.0-beta.7 → 4.1.0-beta.8

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 (67) hide show
  1. package/package.json +3 -3
  2. package/lib/__tests__/bg.test.js +0 -282
  3. package/lib/__tests__/bg.test.js.map +0 -1
  4. package/lib/__tests__/coordinates-label.test.js +0 -276
  5. package/lib/__tests__/coordinates-label.test.js.map +0 -1
  6. package/lib/__tests__/graph-with-controls.test.js +0 -256
  7. package/lib/__tests__/graph-with-controls.test.js.map +0 -1
  8. package/lib/__tests__/graph.test.js +0 -113
  9. package/lib/__tests__/graph.test.js.map +0 -1
  10. package/lib/__tests__/grid-setup.test.js +0 -729
  11. package/lib/__tests__/grid-setup.test.js.map +0 -1
  12. package/lib/__tests__/grid.test.js +0 -29
  13. package/lib/__tests__/grid.test.js.map +0 -1
  14. package/lib/__tests__/labels.test.js +0 -45
  15. package/lib/__tests__/labels.test.js.map +0 -1
  16. package/lib/__tests__/mark-label.test.js +0 -133
  17. package/lib/__tests__/mark-label.test.js.map +0 -1
  18. package/lib/__tests__/toggle-bar.test.js +0 -146
  19. package/lib/__tests__/toggle-bar.test.js.map +0 -1
  20. package/lib/__tests__/tool-menu.test.js +0 -540
  21. package/lib/__tests__/tool-menu.test.js.map +0 -1
  22. package/lib/__tests__/undo-redo.test.js +0 -31
  23. package/lib/__tests__/undo-redo.test.js.map +0 -1
  24. package/lib/__tests__/use-debounce.test.js +0 -24
  25. package/lib/__tests__/use-debounce.test.js.map +0 -1
  26. package/lib/__tests__/utils.js +0 -70
  27. package/lib/__tests__/utils.js.map +0 -1
  28. package/lib/__tests__/utils.test.js +0 -123
  29. package/lib/__tests__/utils.test.js.map +0 -1
  30. package/lib/axis/__tests__/arrow.test.js +0 -60
  31. package/lib/axis/__tests__/arrow.test.js.map +0 -1
  32. package/lib/axis/__tests__/axes.test.js +0 -160
  33. package/lib/axis/__tests__/axes.test.js.map +0 -1
  34. package/lib/container/__tests__/actions.test.js +0 -108
  35. package/lib/container/__tests__/actions.test.js.map +0 -1
  36. package/lib/container/__tests__/index.test.js +0 -346
  37. package/lib/container/__tests__/index.test.js.map +0 -1
  38. package/lib/container/__tests__/marks.test.js +0 -259
  39. package/lib/container/__tests__/marks.test.js.map +0 -1
  40. package/lib/container/__tests__/middleware.test.js +0 -244
  41. package/lib/container/__tests__/middleware.test.js.map +0 -1
  42. package/lib/container/__tests__/reducer.test.js +0 -450
  43. package/lib/container/__tests__/reducer.test.js.map +0 -1
  44. package/lib/tools/line/__tests__/component.test.js +0 -45
  45. package/lib/tools/line/__tests__/component.test.js.map +0 -1
  46. package/lib/tools/polygon/__tests__/component.test.js +0 -501
  47. package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
  48. package/lib/tools/polygon/__tests__/index.test.js +0 -92
  49. package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
  50. package/lib/tools/polygon/__tests__/line.test.js +0 -30
  51. package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
  52. package/lib/tools/polygon/__tests__/polygon.test.js +0 -61
  53. package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
  54. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  55. package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
  56. package/lib/tools/shared/line/__tests__/index.test.js +0 -725
  57. package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
  58. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -64
  59. package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
  60. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -618
  61. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
  62. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  63. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
  64. package/lib/tools/shared/point/__tests__/arrow.test.js +0 -619
  65. package/lib/tools/shared/point/__tests__/arrow.test.js.map +0 -1
  66. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  67. package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
@@ -1,729 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
5
- var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
6
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
7
- var _react = _interopRequireDefault(require("react"));
8
- var _testUtils = require("@pie-lib/test-utils");
9
- var _gridSetup = _interopRequireDefault(require("../grid-setup"));
10
- 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; }
11
- 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; }
12
- var mockOnChange = jest.fn();
13
- var mockOnChangeView = jest.fn();
14
- var defaultProps = {
15
- domain: {
16
- min: -5,
17
- max: 5,
18
- step: 1,
19
- labelStep: 1,
20
- axisLabel: 'x'
21
- },
22
- range: {
23
- min: -5,
24
- max: 5,
25
- step: 1,
26
- labelStep: 1,
27
- axisLabel: 'y'
28
- },
29
- size: {
30
- width: 480,
31
- height: 480
32
- },
33
- sizeConstraints: {
34
- min: 300,
35
- max: 900,
36
- step: 10
37
- },
38
- includeAxes: true,
39
- standardGrid: false,
40
- displayedFields: {
41
- axisLabel: {
42
- enabled: true,
43
- label: 'Axis Label'
44
- },
45
- min: {
46
- enabled: true,
47
- label: 'Min'
48
- },
49
- max: {
50
- enabled: true,
51
- label: 'Max'
52
- },
53
- step: {
54
- enabled: true,
55
- label: 'Interval'
56
- },
57
- labelStep: {
58
- enabled: true,
59
- label: 'Label Interval'
60
- },
61
- dimensionsEnabled: true,
62
- includeAxesEnabled: true,
63
- standardGridEnabled: true
64
- },
65
- gridValues: {
66
- domain: [1, 2, 5, 10],
67
- range: [1, 2, 5, 10]
68
- },
69
- labelValues: {
70
- domain: [0, 1, 2],
71
- range: [0, 1, 2]
72
- },
73
- onChange: mockOnChange,
74
- onChangeView: mockOnChangeView
75
- };
76
- describe('GridSetup', function () {
77
- beforeEach(function () {
78
- jest.clearAllMocks();
79
- });
80
- describe('rendering', function () {
81
- it('renders without crashing', function () {
82
- var _render = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
83
- container = _render.container;
84
- expect(container).toBeTruthy();
85
- });
86
- it('renders accordion with title', function () {
87
- var _render2 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
88
- getByText = _render2.getByText;
89
- expect(getByText('Customize Grid Setup')).toBeTruthy();
90
- });
91
- it('renders Include axes toggle when enabled', function () {
92
- var _render3 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
93
- getByText = _render3.getByText;
94
- expect(getByText('Include axes and labels?')).toBeTruthy();
95
- });
96
- it('does not render Include axes toggle when disabled', function () {
97
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
98
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
99
- includeAxesEnabled: false
100
- })
101
- });
102
- var _render4 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
103
- queryByText = _render4.queryByText;
104
- expect(queryByText('Include axes and labels?')).toBeFalsy();
105
- });
106
- it('renders standard grid toggle when enabled', function () {
107
- var _render5 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
108
- getByText = _render5.getByText;
109
- expect(getByText('Constrain to standard coordinate grid?')).toBeTruthy();
110
- });
111
- it('does not render standard grid toggle when disabled', function () {
112
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
113
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
114
- standardGridEnabled: false
115
- })
116
- });
117
- var _render6 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
118
- queryByText = _render6.queryByText;
119
- expect(queryByText('Constrain to standard coordinate grid?')).toBeFalsy();
120
- });
121
- it('renders dimensions section when enabled', function () {
122
- var _render7 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
123
- getByText = _render7.getByText;
124
- expect(getByText('Dimensions(px)')).toBeTruthy();
125
- expect(getByText(/Min 300, Max 900/)).toBeTruthy();
126
- });
127
- it('does not render dimensions section when disabled', function () {
128
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
129
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
130
- dimensionsEnabled: false
131
- })
132
- });
133
- var _render8 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
134
- queryByText = _render8.queryByText;
135
- expect(queryByText('Dimensions(px)')).toBeFalsy();
136
- });
137
- });
138
- describe('axes configuration', function () {
139
- it('renders axis headers when includeAxes is true', function () {
140
- var _render9 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
141
- container = _render9.container;
142
- var xAxisHeader = container.querySelector('i');
143
- expect(xAxisHeader === null || xAxisHeader === void 0 ? void 0 : xAxisHeader.textContent).toBe('x');
144
- });
145
- it('renders min/max fields when enabled', function () {
146
- var _render0 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
147
- getAllByLabelText = _render0.getAllByLabelText;
148
- var minFields = getAllByLabelText('Min');
149
- var maxFields = getAllByLabelText('Max');
150
- expect(minFields.length).toBe(2); // domain and range
151
- expect(maxFields.length).toBe(2); // domain and range
152
- });
153
- it('does not render min/max fields when disabled', function () {
154
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
155
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
156
- min: {
157
- enabled: false
158
- },
159
- max: {
160
- enabled: false
161
- }
162
- })
163
- });
164
- var _render1 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
165
- queryByLabelText = _render1.queryByLabelText;
166
- expect(queryByLabelText('Min')).toBeFalsy();
167
- expect(queryByLabelText('Max')).toBeFalsy();
168
- });
169
- it('renders axis label fields when enabled', function () {
170
- var _render10 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
171
- getAllByText = _render10.getAllByText;
172
- var axisLabelFields = getAllByText('Axis Label');
173
- expect(axisLabelFields.length).toBe(2); // domain and range
174
- });
175
- it('does not render axis label fields when disabled', function () {
176
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
177
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
178
- axisLabel: {
179
- enabled: false
180
- }
181
- })
182
- });
183
- var _render11 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
184
- queryByText = _render11.queryByText;
185
- expect(queryByText('Axis Label')).toBeFalsy();
186
- });
187
- it('renders step and labelStep fields when enabled', function () {
188
- var _render12 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
189
- getAllByLabelText = _render12.getAllByLabelText;
190
- var intervalFields = getAllByLabelText('Interval');
191
- var labelIntervalFields = getAllByLabelText('Label Interval');
192
- expect(intervalFields.length).toBe(2); // domain and range
193
- expect(labelIntervalFields.length).toBe(2); // domain and range
194
- });
195
- it('does not render step fields when disabled', function () {
196
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
197
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
198
- step: {
199
- enabled: false
200
- }
201
- })
202
- });
203
- var _render13 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
204
- queryByLabelText = _render13.queryByLabelText;
205
- expect(queryByLabelText('Interval')).toBeFalsy();
206
- });
207
- it('does not render labelStep fields when disabled', function () {
208
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
209
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
210
- labelStep: {
211
- enabled: false
212
- }
213
- })
214
- });
215
- var _render14 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
216
- queryByLabelText = _render14.queryByLabelText;
217
- expect(queryByLabelText('Label Interval')).toBeFalsy();
218
- });
219
- it('displays axis visibility hint when min/max enabled', function () {
220
- var _render15 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
221
- getByText = _render15.getByText;
222
- expect(getByText('If you want the axis to be visible, use a zero or negative Min Value, and a positive Max Value')).toBeTruthy();
223
- });
224
- it('displays unnumbered gridlines hint when labelStep enabled', function () {
225
- var _render16 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
226
- getByText = _render16.getByText;
227
- expect(getByText('For unnumbered gridlines, enter a label interval of 0')).toBeTruthy();
228
- });
229
- });
230
- describe('gridlines configuration', function () {
231
- it('renders gridlines config when includeAxes is false', function () {
232
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
233
- includeAxes: false
234
- });
235
- var _render17 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
236
- getByLabelText = _render17.getByLabelText;
237
- expect(getByLabelText('Number of Vertical Gridlines')).toBeTruthy();
238
- expect(getByLabelText('Number of Horizontal Gridlines')).toBeTruthy();
239
- });
240
- it('does not render axes config when includeAxes is false', function () {
241
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
242
- includeAxes: false
243
- });
244
- var _render18 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
245
- queryByText = _render18.queryByText;
246
- expect(queryByText('Axis Label')).toBeFalsy();
247
- });
248
- it('does not render gridlines config when max is disabled', function () {
249
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
250
- includeAxes: false,
251
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
252
- max: {
253
- enabled: false
254
- }
255
- })
256
- });
257
- var _render19 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
258
- queryByLabelText = _render19.queryByLabelText;
259
- expect(queryByLabelText('Number of Vertical Gridlines')).toBeFalsy();
260
- expect(queryByLabelText('Number of Horizontal Gridlines')).toBeFalsy();
261
- });
262
- });
263
- describe('user interactions', function () {
264
- it('calls onChange when includeAxes toggle is clicked', function () {
265
- var _render20 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
266
- container = _render20.container;
267
- var toggleInput = container.querySelector('input[type="checkbox"]');
268
- _testUtils.fireEvent.click(toggleInput);
269
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
270
- includeAxes: false
271
- }));
272
- });
273
- it('calls onChange with proper config when includeAxes is disabled', function () {
274
- var _render21 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
275
- container = _render21.container;
276
- var toggleInput = container.querySelector('input[type="checkbox"]');
277
- _testUtils.fireEvent.click(toggleInput);
278
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
279
- includeAxes: false,
280
- domain: expect.objectContaining({
281
- min: 1,
282
- max: 5,
283
- step: 1,
284
- labelStep: 0
285
- }),
286
- range: expect.objectContaining({
287
- min: 1,
288
- max: 5,
289
- step: 1,
290
- labelStep: 0
291
- })
292
- }));
293
- });
294
- it('calls onChange with proper config when includeAxes is enabled', function () {
295
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
296
- includeAxes: false
297
- });
298
- var _render22 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
299
- container = _render22.container;
300
- var toggleInputs = container.querySelectorAll('input[type="checkbox"]');
301
- var includeAxesToggle = toggleInputs[0]; // First toggle is includeAxes
302
-
303
- _testUtils.fireEvent.click(includeAxesToggle);
304
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
305
- includeAxes: true,
306
- domain: expect.objectContaining({
307
- labelStep: 1
308
- }),
309
- range: expect.objectContaining({
310
- labelStep: 1
311
- })
312
- }));
313
- });
314
- it('calls onChange when standardGrid toggle is clicked', function () {
315
- var _render23 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
316
- container = _render23.container;
317
- var toggleInputs = container.querySelectorAll('input[type="checkbox"]');
318
- var standardGridToggle = toggleInputs[1]; // Second toggle is standardGrid
319
-
320
- _testUtils.fireEvent.click(standardGridToggle);
321
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
322
- standardGrid: true,
323
- graph: expect.objectContaining({
324
- width: 480,
325
- height: 480
326
- })
327
- }));
328
- });
329
- it('calls onChange when width is changed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
330
- var _render24, getAllByLabelText, widthInput;
331
- return _regenerator["default"].wrap(function (_context) {
332
- while (1) switch (_context.prev = _context.next) {
333
- case 0:
334
- _render24 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)), getAllByLabelText = _render24.getAllByLabelText;
335
- widthInput = getAllByLabelText('Width')[0];
336
- _testUtils.fireEvent.change(widthInput, {
337
- target: {
338
- value: '500'
339
- }
340
- });
341
- _testUtils.fireEvent.blur(widthInput);
342
- _context.next = 1;
343
- return (0, _testUtils.waitFor)(function () {
344
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
345
- graph: expect.objectContaining({
346
- width: 500
347
- })
348
- }));
349
- });
350
- case 1:
351
- case "end":
352
- return _context.stop();
353
- }
354
- }, _callee);
355
- })));
356
- it('calls onChange when height is changed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
357
- var _render25, getAllByLabelText, heightInput;
358
- return _regenerator["default"].wrap(function (_context2) {
359
- while (1) switch (_context2.prev = _context2.next) {
360
- case 0:
361
- _render25 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)), getAllByLabelText = _render25.getAllByLabelText;
362
- heightInput = getAllByLabelText('Height')[0];
363
- _testUtils.fireEvent.change(heightInput, {
364
- target: {
365
- value: '520'
366
- }
367
- });
368
- _testUtils.fireEvent.blur(heightInput);
369
- _context2.next = 1;
370
- return (0, _testUtils.waitFor)(function () {
371
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
372
- graph: expect.objectContaining({
373
- height: 520
374
- })
375
- }));
376
- });
377
- case 1:
378
- case "end":
379
- return _context2.stop();
380
- }
381
- }, _callee2);
382
- })));
383
- it('updates both width and height when standardGrid is true', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
384
- var props, _render26, getAllByLabelText, widthInput;
385
- return _regenerator["default"].wrap(function (_context3) {
386
- while (1) switch (_context3.prev = _context3.next) {
387
- case 0:
388
- props = _objectSpread(_objectSpread({}, defaultProps), {}, {
389
- standardGrid: true
390
- });
391
- _render26 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)), getAllByLabelText = _render26.getAllByLabelText;
392
- widthInput = getAllByLabelText('Width')[0];
393
- _testUtils.fireEvent.change(widthInput, {
394
- target: {
395
- value: '600'
396
- }
397
- });
398
- _testUtils.fireEvent.blur(widthInput);
399
- _context3.next = 1;
400
- return (0, _testUtils.waitFor)(function () {
401
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
402
- graph: expect.objectContaining({
403
- width: 600,
404
- height: 600
405
- })
406
- }));
407
- });
408
- case 1:
409
- case "end":
410
- return _context3.stop();
411
- }
412
- }, _callee3);
413
- })));
414
- it('calls onChange when domain min is changed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee4() {
415
- var _render27, getAllByLabelText, minInputs, domainMinInput;
416
- return _regenerator["default"].wrap(function (_context4) {
417
- while (1) switch (_context4.prev = _context4.next) {
418
- case 0:
419
- _render27 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)), getAllByLabelText = _render27.getAllByLabelText;
420
- minInputs = getAllByLabelText('Min');
421
- domainMinInput = minInputs[0];
422
- _testUtils.fireEvent.change(domainMinInput, {
423
- target: {
424
- value: '-10'
425
- }
426
- });
427
- _testUtils.fireEvent.blur(domainMinInput);
428
- _context4.next = 1;
429
- return (0, _testUtils.waitFor)(function () {
430
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
431
- domain: expect.objectContaining({
432
- min: -10
433
- })
434
- }));
435
- });
436
- case 1:
437
- case "end":
438
- return _context4.stop();
439
- }
440
- }, _callee4);
441
- })));
442
- it('calls onChange when domain max is changed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee5() {
443
- var _render28, getAllByLabelText, maxInputs, domainMaxInput;
444
- return _regenerator["default"].wrap(function (_context5) {
445
- while (1) switch (_context5.prev = _context5.next) {
446
- case 0:
447
- _render28 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)), getAllByLabelText = _render28.getAllByLabelText;
448
- maxInputs = getAllByLabelText('Max');
449
- domainMaxInput = maxInputs[0];
450
- _testUtils.fireEvent.change(domainMaxInput, {
451
- target: {
452
- value: '10'
453
- }
454
- });
455
- _testUtils.fireEvent.blur(domainMaxInput);
456
- _context5.next = 1;
457
- return (0, _testUtils.waitFor)(function () {
458
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
459
- domain: expect.objectContaining({
460
- max: 10
461
- })
462
- }));
463
- });
464
- case 1:
465
- case "end":
466
- return _context5.stop();
467
- }
468
- }, _callee5);
469
- })));
470
- it('calls onChange when range min is changed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee6() {
471
- var _render29, getAllByLabelText, minInputs, rangeMinInput;
472
- return _regenerator["default"].wrap(function (_context6) {
473
- while (1) switch (_context6.prev = _context6.next) {
474
- case 0:
475
- _render29 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)), getAllByLabelText = _render29.getAllByLabelText;
476
- minInputs = getAllByLabelText('Min');
477
- rangeMinInput = minInputs[1];
478
- _testUtils.fireEvent.change(rangeMinInput, {
479
- target: {
480
- value: '-8'
481
- }
482
- });
483
- _testUtils.fireEvent.blur(rangeMinInput);
484
- _context6.next = 1;
485
- return (0, _testUtils.waitFor)(function () {
486
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
487
- range: expect.objectContaining({
488
- min: -8
489
- })
490
- }));
491
- });
492
- case 1:
493
- case "end":
494
- return _context6.stop();
495
- }
496
- }, _callee6);
497
- })));
498
- it('calls onChange when range max is changed', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee7() {
499
- var _render30, getAllByLabelText, maxInputs, rangeMaxInput;
500
- return _regenerator["default"].wrap(function (_context7) {
501
- while (1) switch (_context7.prev = _context7.next) {
502
- case 0:
503
- _render30 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)), getAllByLabelText = _render30.getAllByLabelText;
504
- maxInputs = getAllByLabelText('Max');
505
- rangeMaxInput = maxInputs[1];
506
- _testUtils.fireEvent.change(rangeMaxInput, {
507
- target: {
508
- value: '12'
509
- }
510
- });
511
- _testUtils.fireEvent.blur(rangeMaxInput);
512
- _context7.next = 1;
513
- return (0, _testUtils.waitFor)(function () {
514
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
515
- range: expect.objectContaining({
516
- max: 12
517
- })
518
- }));
519
- });
520
- case 1:
521
- case "end":
522
- return _context7.stop();
523
- }
524
- }, _callee7);
525
- })));
526
- it('updates both domain and range when standardGrid is true and domain changes', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee8() {
527
- var props, _render31, getAllByLabelText, minInputs, domainMinInput;
528
- return _regenerator["default"].wrap(function (_context8) {
529
- while (1) switch (_context8.prev = _context8.next) {
530
- case 0:
531
- props = _objectSpread(_objectSpread({}, defaultProps), {}, {
532
- standardGrid: true
533
- });
534
- _render31 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)), getAllByLabelText = _render31.getAllByLabelText;
535
- minInputs = getAllByLabelText('Min');
536
- domainMinInput = minInputs[0];
537
- _testUtils.fireEvent.change(domainMinInput, {
538
- target: {
539
- value: '-15'
540
- }
541
- });
542
- _testUtils.fireEvent.blur(domainMinInput);
543
- _context8.next = 1;
544
- return (0, _testUtils.waitFor)(function () {
545
- expect(mockOnChange).toHaveBeenCalledWith(expect.objectContaining({
546
- domain: expect.objectContaining({
547
- min: -15
548
- }),
549
- range: expect.objectContaining({
550
- min: -15
551
- })
552
- }));
553
- });
554
- case 1:
555
- case "end":
556
- return _context8.stop();
557
- }
558
- }, _callee8);
559
- })));
560
- it('does not update range when domain axisLabel changes with standardGrid', /*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee9() {
561
- var props, _render32, container, axisLabelInputs;
562
- return _regenerator["default"].wrap(function (_context9) {
563
- while (1) switch (_context9.prev = _context9.next) {
564
- case 0:
565
- props = _objectSpread(_objectSpread({}, defaultProps), {}, {
566
- standardGrid: true
567
- });
568
- _render32 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)), container = _render32.container; // EditableHTML change is harder to trigger, but we can test the handler directly
569
- // by verifying the range doesn't get the axisLabel value from domain
570
- axisLabelInputs = container.querySelectorAll('[contenteditable="true"]');
571
- if (!(axisLabelInputs.length > 0)) {
572
- _context9.next = 1;
573
- break;
574
- }
575
- _testUtils.fireEvent.input(axisLabelInputs[0], {
576
- target: {
577
- innerHTML: 'X-Axis'
578
- }
579
- });
580
- _context9.next = 1;
581
- return (0, _testUtils.waitFor)(function () {
582
- if (mockOnChange.mock.calls.length > 0) {
583
- var _lastCall$range;
584
- var lastCall = mockOnChange.mock.calls[mockOnChange.mock.calls.length - 1][0];
585
- // range.axisLabel should not be 'X-Axis', it should keep its original value
586
- expect((_lastCall$range = lastCall.range) === null || _lastCall$range === void 0 ? void 0 : _lastCall$range.axisLabel).not.toBe('X-Axis');
587
- }
588
- });
589
- case 1:
590
- case "end":
591
- return _context9.stop();
592
- }
593
- }, _callee9);
594
- })));
595
- it('calls onChangeView when accordion is toggled', function () {
596
- var _render33 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
597
- container = _render33.container;
598
- var accordionSummary = container.querySelector('[aria-expanded]');
599
- _testUtils.fireEvent.click(accordionSummary);
600
- expect(mockOnChangeView).toHaveBeenCalled();
601
- });
602
- });
603
- describe('disabled states', function () {
604
- it('disables range fields when standardGrid is true', function () {
605
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
606
- standardGrid: true
607
- });
608
- var _render34 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
609
- getAllByLabelText = _render34.getAllByLabelText;
610
- var minInputs = getAllByLabelText('Min');
611
- var rangeMinInput = minInputs[1];
612
- expect(rangeMinInput).toBeDisabled();
613
- });
614
- it('disables height field when standardGrid is true', function () {
615
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
616
- standardGrid: true
617
- });
618
- var _render35 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
619
- getAllByLabelText = _render35.getAllByLabelText;
620
- var heightInput = getAllByLabelText('Height')[0];
621
- expect(heightInput).toBeDisabled();
622
- });
623
- it('disables horizontal gridlines field when standardGrid is true and includeAxes is false', function () {
624
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
625
- includeAxes: false,
626
- standardGrid: true
627
- });
628
- var _render36 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
629
- getByLabelText = _render36.getByLabelText;
630
- var horizontalGridlinesInput = getByLabelText('Number of Horizontal Gridlines');
631
- expect(horizontalGridlinesInput).toBeDisabled();
632
- });
633
- });
634
- describe('GridConfig component', function () {
635
- it('renders step field when enabled', function () {
636
- var _render37 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
637
- getAllByLabelText = _render37.getAllByLabelText;
638
- var intervalFields = getAllByLabelText('Interval');
639
- expect(intervalFields.length).toBeGreaterThan(0);
640
- });
641
- it('renders labelStep field when enabled', function () {
642
- var _render38 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
643
- getAllByLabelText = _render38.getAllByLabelText;
644
- var labelIntervalFields = getAllByLabelText('Label Interval');
645
- expect(labelIntervalFields.length).toBeGreaterThan(0);
646
- });
647
- it('does not render when both step and labelStep are disabled', function () {
648
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
649
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
650
- step: {
651
- enabled: false
652
- },
653
- labelStep: {
654
- enabled: false
655
- }
656
- })
657
- });
658
- var _render39 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
659
- queryByLabelText = _render39.queryByLabelText;
660
- expect(queryByLabelText('Interval')).toBeFalsy();
661
- expect(queryByLabelText('Label Interval')).toBeFalsy();
662
- });
663
- });
664
- describe('AxisConfig component', function () {
665
- it('renders x-axis header', function () {
666
- var _render40 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
667
- container = _render40.container;
668
- var headers = container.querySelectorAll('i');
669
- var xAxisHeader = Array.from(headers).find(function (h) {
670
- return h.textContent === 'x';
671
- });
672
- expect(xAxisHeader).toBeTruthy();
673
- });
674
- it('renders y-axis header', function () {
675
- var _render41 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
676
- container = _render41.container;
677
- var headers = container.querySelectorAll('i');
678
- var yAxisHeader = Array.from(headers).find(function (h) {
679
- return h.textContent === 'y';
680
- });
681
- expect(yAxisHeader).toBeTruthy();
682
- });
683
- it('does not render headers when all fields are disabled', function () {
684
- var props = _objectSpread(_objectSpread({}, defaultProps), {}, {
685
- displayedFields: _objectSpread(_objectSpread({}, defaultProps.displayedFields), {}, {
686
- min: {
687
- enabled: false
688
- },
689
- max: {
690
- enabled: false
691
- },
692
- axisLabel: {
693
- enabled: false
694
- },
695
- step: {
696
- enabled: false
697
- },
698
- labelStep: {
699
- enabled: false
700
- }
701
- })
702
- });
703
- var _render42 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], props)),
704
- container = _render42.container;
705
- var headers = container.querySelectorAll('i');
706
- var axisHeaders = Array.from(headers).filter(function (h) {
707
- return h.textContent === 'x' || h.textContent === 'y';
708
- });
709
- expect(axisHeaders.length).toBe(0);
710
- });
711
- });
712
- describe('Accordion behavior', function () {
713
- it('renders with correct transition props', function () {
714
- var _render43 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
715
- container = _render43.container;
716
- var accordion = container.querySelector('.MuiAccordion-root');
717
- expect(accordion).toBeTruthy();
718
- });
719
- it('expands and collapses accordion', function () {
720
- var _render44 = (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_gridSetup["default"], defaultProps)),
721
- container = _render44.container;
722
- var accordionSummary = container.querySelector('[aria-expanded]');
723
- expect(accordionSummary.getAttribute('aria-expanded')).toBe('false');
724
- _testUtils.fireEvent.click(accordionSummary);
725
- expect(mockOnChangeView).toHaveBeenCalled();
726
- });
727
- });
728
- });
729
- //# sourceMappingURL=grid-setup.test.js.map