@pie-lib/graphing-solution-set 4.0.13 → 4.1.0-beta.1
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__/bg.test.js +282 -0
- package/lib/__tests__/bg.test.js.map +1 -0
- package/lib/__tests__/coordinates-label.test.js +276 -0
- package/lib/__tests__/coordinates-label.test.js.map +1 -0
- package/lib/__tests__/graph-with-controls.test.js +256 -0
- package/lib/__tests__/graph-with-controls.test.js.map +1 -0
- package/lib/__tests__/graph.test.js +113 -0
- package/lib/__tests__/graph.test.js.map +1 -0
- package/lib/__tests__/grid-setup.test.js +729 -0
- package/lib/__tests__/grid-setup.test.js.map +1 -0
- package/lib/__tests__/grid.test.js +29 -0
- package/lib/__tests__/grid.test.js.map +1 -0
- package/lib/__tests__/labels.test.js +45 -0
- package/lib/__tests__/labels.test.js.map +1 -0
- package/lib/__tests__/mark-label.test.js +133 -0
- package/lib/__tests__/mark-label.test.js.map +1 -0
- package/lib/__tests__/toggle-bar.test.js +146 -0
- package/lib/__tests__/toggle-bar.test.js.map +1 -0
- package/lib/__tests__/tool-menu.test.js +540 -0
- package/lib/__tests__/tool-menu.test.js.map +1 -0
- package/lib/__tests__/undo-redo.test.js +31 -0
- package/lib/__tests__/undo-redo.test.js.map +1 -0
- package/lib/__tests__/use-debounce.test.js +24 -0
- package/lib/__tests__/use-debounce.test.js.map +1 -0
- package/lib/__tests__/utils.js +70 -0
- package/lib/__tests__/utils.js.map +1 -0
- package/lib/__tests__/utils.test.js +123 -0
- package/lib/__tests__/utils.test.js.map +1 -0
- package/lib/axis/__tests__/arrow.test.js +60 -0
- package/lib/axis/__tests__/arrow.test.js.map +1 -0
- package/lib/axis/__tests__/axes.test.js +160 -0
- package/lib/axis/__tests__/axes.test.js.map +1 -0
- package/lib/container/__tests__/actions.test.js +108 -0
- package/lib/container/__tests__/actions.test.js.map +1 -0
- package/lib/container/__tests__/index.test.js +346 -0
- package/lib/container/__tests__/index.test.js.map +1 -0
- package/lib/container/__tests__/marks.test.js +259 -0
- package/lib/container/__tests__/marks.test.js.map +1 -0
- package/lib/container/__tests__/middleware.test.js +244 -0
- package/lib/container/__tests__/middleware.test.js.map +1 -0
- package/lib/container/__tests__/reducer.test.js +450 -0
- package/lib/container/__tests__/reducer.test.js.map +1 -0
- package/lib/tools/line/__tests__/component.test.js +45 -0
- package/lib/tools/line/__tests__/component.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/component.test.js +501 -0
- package/lib/tools/polygon/__tests__/component.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/index.test.js +92 -0
- package/lib/tools/polygon/__tests__/index.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/line.test.js +30 -0
- package/lib/tools/polygon/__tests__/line.test.js.map +1 -0
- package/lib/tools/polygon/__tests__/polygon.test.js +61 -0
- package/lib/tools/polygon/__tests__/polygon.test.js.map +1 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js +45 -0
- package/lib/tools/shared/__tests__/arrow-head.test.js.map +1 -0
- package/lib/tools/shared/line/__tests__/index.test.js +725 -0
- package/lib/tools/shared/line/__tests__/index.test.js.map +1 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js +64 -0
- package/lib/tools/shared/line/__tests__/line-path.test.js.map +1 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +618 -0
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +1 -0
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +127 -0
- package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +1 -0
- package/lib/tools/shared/point/__tests__/arrow.test.js +619 -0
- package/lib/tools/shared/point/__tests__/arrow.test.js.map +1 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js +122 -0
- package/lib/tools/shared/point/__tests__/base-point.test.js.map +1 -0
- package/package.json +7 -7
- package/LICENSE.md +0 -5
|
@@ -0,0 +1,729 @@
|
|
|
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
|