@pie-lib/graphing 4.1.0-beta.7 → 4.1.0-beta.9

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 (145) 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 -275
  7. package/lib/__tests__/graph-with-controls.test.js.map +0 -1
  8. package/lib/__tests__/graph.test.js +0 -927
  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__/key-legend.test.js +0 -321
  15. package/lib/__tests__/key-legend.test.js.map +0 -1
  16. package/lib/__tests__/label-svg-icon.test.js +0 -373
  17. package/lib/__tests__/label-svg-icon.test.js.map +0 -1
  18. package/lib/__tests__/labels.test.js +0 -61
  19. package/lib/__tests__/labels.test.js.map +0 -1
  20. package/lib/__tests__/mark-label.test.js +0 -133
  21. package/lib/__tests__/mark-label.test.js.map +0 -1
  22. package/lib/__tests__/toggle-bar.test.js +0 -197
  23. package/lib/__tests__/toggle-bar.test.js.map +0 -1
  24. package/lib/__tests__/tool-menu.test.js +0 -151
  25. package/lib/__tests__/tool-menu.test.js.map +0 -1
  26. package/lib/__tests__/undo-redo.test.js +0 -31
  27. package/lib/__tests__/undo-redo.test.js.map +0 -1
  28. package/lib/__tests__/use-debounce.test.js +0 -24
  29. package/lib/__tests__/use-debounce.test.js.map +0 -1
  30. package/lib/__tests__/utils.js +0 -70
  31. package/lib/__tests__/utils.js.map +0 -1
  32. package/lib/__tests__/utils.test.js +0 -123
  33. package/lib/__tests__/utils.test.js.map +0 -1
  34. package/lib/axis/__tests__/arrow.test.js +0 -60
  35. package/lib/axis/__tests__/arrow.test.js.map +0 -1
  36. package/lib/axis/__tests__/axes.test.js +0 -195
  37. package/lib/axis/__tests__/axes.test.js.map +0 -1
  38. package/lib/container/__tests__/actions.test.js +0 -108
  39. package/lib/container/__tests__/actions.test.js.map +0 -1
  40. package/lib/container/__tests__/index.test.js +0 -503
  41. package/lib/container/__tests__/index.test.js.map +0 -1
  42. package/lib/container/__tests__/marks.test.js +0 -259
  43. package/lib/container/__tests__/marks.test.js.map +0 -1
  44. package/lib/container/__tests__/middleware.test.js +0 -244
  45. package/lib/container/__tests__/middleware.test.js.map +0 -1
  46. package/lib/container/__tests__/reducer.test.js +0 -450
  47. package/lib/container/__tests__/reducer.test.js.map +0 -1
  48. package/lib/tools/absolute/__tests__/component.test.js +0 -65
  49. package/lib/tools/absolute/__tests__/component.test.js.map +0 -1
  50. package/lib/tools/circle/__tests__/bg-circle.test.js +0 -33
  51. package/lib/tools/circle/__tests__/bg-circle.test.js.map +0 -1
  52. package/lib/tools/circle/__tests__/component.test.js +0 -615
  53. package/lib/tools/circle/__tests__/component.test.js.map +0 -1
  54. package/lib/tools/circle/__tests__/index.test.js +0 -576
  55. package/lib/tools/circle/__tests__/index.test.js.map +0 -1
  56. package/lib/tools/exponential/__tests__/component.test.js +0 -64
  57. package/lib/tools/exponential/__tests__/component.test.js.map +0 -1
  58. package/lib/tools/exponential/__tests__/index.test.js +0 -828
  59. package/lib/tools/exponential/__tests__/index.test.js.map +0 -1
  60. package/lib/tools/line/__tests__/component.test.js +0 -45
  61. package/lib/tools/line/__tests__/component.test.js.map +0 -1
  62. package/lib/tools/parabola/__tests__/component.test.js +0 -64
  63. package/lib/tools/parabola/__tests__/component.test.js.map +0 -1
  64. package/lib/tools/parabola/__tests__/index.test.js +0 -564
  65. package/lib/tools/parabola/__tests__/index.test.js.map +0 -1
  66. package/lib/tools/point/__tests__/component.test.js +0 -434
  67. package/lib/tools/point/__tests__/component.test.js.map +0 -1
  68. package/lib/tools/point/__tests__/index.test.js +0 -262
  69. package/lib/tools/point/__tests__/index.test.js.map +0 -1
  70. package/lib/tools/polygon/__tests__/component.test.js +0 -485
  71. package/lib/tools/polygon/__tests__/component.test.js.map +0 -1
  72. package/lib/tools/polygon/__tests__/index.test.js +0 -303
  73. package/lib/tools/polygon/__tests__/index.test.js.map +0 -1
  74. package/lib/tools/polygon/__tests__/line.test.js +0 -50
  75. package/lib/tools/polygon/__tests__/line.test.js.map +0 -1
  76. package/lib/tools/polygon/__tests__/polygon.test.js +0 -85
  77. package/lib/tools/polygon/__tests__/polygon.test.js.map +0 -1
  78. package/lib/tools/ray/__tests__/component.test.js +0 -35
  79. package/lib/tools/ray/__tests__/component.test.js.map +0 -1
  80. package/lib/tools/segment/__tests__/component.test.js +0 -35
  81. package/lib/tools/segment/__tests__/component.test.js.map +0 -1
  82. package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
  83. package/lib/tools/shared/__tests__/arrow-head.test.js.map +0 -1
  84. package/lib/tools/shared/line/__tests__/index.test.js +0 -124
  85. package/lib/tools/shared/line/__tests__/index.test.js.map +0 -1
  86. package/lib/tools/shared/line/__tests__/line-path.test.js +0 -62
  87. package/lib/tools/shared/line/__tests__/line-path.test.js.map +0 -1
  88. package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -90
  89. package/lib/tools/shared/line/__tests__/with-root-edge.test.js.map +0 -1
  90. package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
  91. package/lib/tools/shared/point/__tests__/arrow-point.test.js.map +0 -1
  92. package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
  93. package/lib/tools/shared/point/__tests__/base-point.test.js.map +0 -1
  94. package/lib/tools/sine/__tests__/component.test.js +0 -72
  95. package/lib/tools/sine/__tests__/component.test.js.map +0 -1
  96. package/lib/tools/vector/__tests__/component.test.js +0 -32
  97. package/lib/tools/vector/__tests__/component.test.js.map +0 -1
  98. package/src/__tests__/bg.test.jsx +0 -250
  99. package/src/__tests__/coordinates-label.test.jsx +0 -243
  100. package/src/__tests__/graph-with-controls.test.jsx +0 -198
  101. package/src/__tests__/graph.test.jsx +0 -721
  102. package/src/__tests__/grid-setup.test.jsx +0 -645
  103. package/src/__tests__/grid.test.jsx +0 -22
  104. package/src/__tests__/key-legend.test.jsx +0 -260
  105. package/src/__tests__/label-svg-icon.test.jsx +0 -278
  106. package/src/__tests__/labels.test.jsx +0 -55
  107. package/src/__tests__/mark-label.test.jsx +0 -63
  108. package/src/__tests__/toggle-bar.test.jsx +0 -146
  109. package/src/__tests__/tool-menu.test.jsx +0 -115
  110. package/src/__tests__/undo-redo.test.jsx +0 -24
  111. package/src/__tests__/use-debounce.test.js +0 -21
  112. package/src/__tests__/utils.js +0 -41
  113. package/src/__tests__/utils.test.js +0 -105
  114. package/src/axis/__tests__/arrow.test.jsx +0 -38
  115. package/src/axis/__tests__/axes.test.jsx +0 -216
  116. package/src/container/__tests__/actions.test.js +0 -105
  117. package/src/container/__tests__/index.test.jsx +0 -319
  118. package/src/container/__tests__/marks.test.js +0 -172
  119. package/src/container/__tests__/middleware.test.js +0 -235
  120. package/src/container/__tests__/reducer.test.js +0 -324
  121. package/src/tools/absolute/__tests__/component.test.jsx +0 -53
  122. package/src/tools/circle/__tests__/bg-circle.test.jsx +0 -26
  123. package/src/tools/circle/__tests__/component.test.jsx +0 -494
  124. package/src/tools/circle/__tests__/index.test.js +0 -480
  125. package/src/tools/exponential/__tests__/component.test.jsx +0 -53
  126. package/src/tools/exponential/__tests__/index.test.js +0 -729
  127. package/src/tools/line/__tests__/component.test.jsx +0 -37
  128. package/src/tools/parabola/__tests__/component.test.jsx +0 -48
  129. package/src/tools/parabola/__tests__/index.test.js +0 -470
  130. package/src/tools/point/__tests__/component.test.jsx +0 -349
  131. package/src/tools/point/__tests__/index.test.js +0 -241
  132. package/src/tools/polygon/__tests__/component.test.jsx +0 -471
  133. package/src/tools/polygon/__tests__/index.test.js +0 -294
  134. package/src/tools/polygon/__tests__/line.test.jsx +0 -35
  135. package/src/tools/polygon/__tests__/polygon.test.jsx +0 -61
  136. package/src/tools/ray/__tests__/component.test.jsx +0 -29
  137. package/src/tools/segment/__tests__/component.test.jsx +0 -28
  138. package/src/tools/shared/__tests__/arrow-head.test.jsx +0 -31
  139. package/src/tools/shared/line/__tests__/index.test.jsx +0 -109
  140. package/src/tools/shared/line/__tests__/line-path.test.jsx +0 -53
  141. package/src/tools/shared/line/__tests__/with-root-edge.test.jsx +0 -73
  142. package/src/tools/shared/point/__tests__/arrow-point.test.jsx +0 -91
  143. package/src/tools/shared/point/__tests__/base-point.test.jsx +0 -87
  144. package/src/tools/sine/__tests__/component.test.jsx +0 -51
  145. package/src/tools/vector/__tests__/component.test.jsx +0 -25
@@ -1,485 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
5
- var _testUtils = require("@pie-lib/test-utils");
6
- var _react = _interopRequireDefault(require("react"));
7
- var _utils = require("../../../__tests__/utils");
8
- var _component = require("../component");
9
- function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
10
- function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
11
- var xyLabel = function xyLabel(x, y, index, label) {
12
- return _objectSpread(_objectSpread({}, (0, _utils.xy)(x, y, index)), {}, {
13
- label: label
14
- });
15
- };
16
- describe('buildLines', function () {
17
- var defaultPoints = [(0, _utils.xy)(0, 0), (0, _utils.xy)(1, 1), (0, _utils.xy)(1, 0)];
18
- var assertBuildLines = function assertBuildLines(points, closed, expected) {
19
- it("builds points and lines for ".concat(points, " = ").concat(expected), function () {
20
- var result = (0, _component.buildLines)(points);
21
- expect(result).toMatchObject([{
22
- from: (0, _utils.xy)(0, 0, 0),
23
- to: (0, _utils.xy)(1, 1, 1)
24
- }, {
25
- from: (0, _utils.xy)(1, 1, 1),
26
- to: (0, _utils.xy)(1, 0, 2)
27
- }]);
28
- });
29
- };
30
- assertBuildLines(defaultPoints, true, []);
31
- });
32
- describe('swap', function () {
33
- it('swaps pairs', function () {
34
- var result = (0, _component.swap)([(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 2, 2)], (0, _utils.xy)(0, 0, 0), (0, _utils.xy)(3, 3, 0));
35
- expect(result).toEqual([(0, _utils.xy)(3, 3, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 2, 2)]);
36
- });
37
- });
38
- describe('RawBaseComponent', function () {
39
- var onChange = jest.fn();
40
- var onChangeProps = jest.fn();
41
- var renderComponent = function renderComponent(extras) {
42
- var defaults = {
43
- classes: {},
44
- className: 'className',
45
- onChange: onChange,
46
- onChangeProps: onChangeProps,
47
- onClosePolygon: jest.fn(),
48
- graphProps: (0, _utils.graphProps)(),
49
- points: []
50
- };
51
- var props = _objectSpread(_objectSpread({}, defaults), extras);
52
- return (0, _testUtils.render)(/*#__PURE__*/_react["default"].createElement(_component.RawBaseComponent, props));
53
- };
54
-
55
- // used to test items that have labels attached to points
56
- var labelNode = document.createElement('foreignObject');
57
- var points = [xyLabel(0, 0, 0, 'A'), xyLabel(2, 2, 1, 'B'), xyLabel(0, 2, 2, 'C')];
58
- var renderWithLabels = function renderWithLabels(extras) {
59
- return renderComponent(_objectSpread({
60
- labelNode: labelNode,
61
- points: points
62
- }, extras));
63
- };
64
- describe('rendering', function () {
65
- it('renders without crashing', function () {
66
- var _renderComponent = renderComponent(),
67
- container = _renderComponent.container;
68
- expect(container.firstChild).toBeInTheDocument();
69
- });
70
- it('renders with labels', function () {
71
- var _renderWithLabels = renderWithLabels(),
72
- container = _renderWithLabels.container;
73
- expect(container.firstChild).toBeInTheDocument();
74
- });
75
- it('renders with multiple points', function () {
76
- var _renderComponent2 = renderComponent({
77
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)]
78
- }),
79
- container = _renderComponent2.container;
80
- expect(container.firstChild).toBeInTheDocument();
81
- });
82
- it('renders with closed polygon', function () {
83
- var _renderComponent3 = renderComponent({
84
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)],
85
- closed: true
86
- }),
87
- container = _renderComponent3.container;
88
- expect(container.firstChild).toBeInTheDocument();
89
- });
90
- it('renders with single point', function () {
91
- var _renderComponent4 = renderComponent({
92
- points: [(0, _utils.xy)(0, 0, 0)]
93
- }),
94
- container = _renderComponent4.container;
95
- expect(container.firstChild).toBeInTheDocument();
96
- });
97
- it('renders with two points', function () {
98
- var _renderComponent5 = renderComponent({
99
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
100
- }),
101
- container = _renderComponent5.container;
102
- expect(container.firstChild).toBeInTheDocument();
103
- });
104
- it('renders with many points', function () {
105
- var manyPoints = Array.from({
106
- length: 10
107
- }, function (_, i) {
108
- return (0, _utils.xy)(i, i, i);
109
- });
110
- var _renderComponent6 = renderComponent({
111
- points: manyPoints
112
- }),
113
- container = _renderComponent6.container;
114
- expect(container.firstChild).toBeInTheDocument();
115
- });
116
- it('renders with negative coordinates', function () {
117
- var _renderComponent7 = renderComponent({
118
- points: [(0, _utils.xy)(-5, -5, 0), (0, _utils.xy)(-1, -1, 1), (0, _utils.xy)(-3, -2, 2)]
119
- }),
120
- container = _renderComponent7.container;
121
- expect(container.firstChild).toBeInTheDocument();
122
- });
123
- it('renders with decimal coordinates', function () {
124
- var _renderComponent8 = renderComponent({
125
- points: [(0, _utils.xy)(0.5, 0.5, 0), (0, _utils.xy)(1.5, 1.5, 1), (0, _utils.xy)(2.5, 0.5, 2)]
126
- }),
127
- container = _renderComponent8.container;
128
- expect(container.firstChild).toBeInTheDocument();
129
- });
130
- it('renders with zero coordinates', function () {
131
- var _renderComponent9 = renderComponent({
132
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(0, 0, 1), (0, _utils.xy)(0, 0, 2)]
133
- }),
134
- container = _renderComponent9.container;
135
- expect(container.firstChild).toBeInTheDocument();
136
- });
137
- });
138
- describe('states', function () {
139
- it('renders in disabled state', function () {
140
- var _renderComponent0 = renderComponent({
141
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)],
142
- disabled: true
143
- }),
144
- container = _renderComponent0.container;
145
- expect(container.firstChild).toBeInTheDocument();
146
- });
147
- it('renders in enabled state', function () {
148
- var _renderComponent1 = renderComponent({
149
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)],
150
- disabled: false
151
- }),
152
- container = _renderComponent1.container;
153
- expect(container.firstChild).toBeInTheDocument();
154
- });
155
- it('renders with correctness correct', function () {
156
- var _renderComponent10 = renderComponent({
157
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)],
158
- correctness: 'correct'
159
- }),
160
- container = _renderComponent10.container;
161
- expect(container.firstChild).toBeInTheDocument();
162
- });
163
- it('renders with correctness incorrect', function () {
164
- var _renderComponent11 = renderComponent({
165
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)],
166
- correctness: 'incorrect'
167
- }),
168
- container = _renderComponent11.container;
169
- expect(container.firstChild).toBeInTheDocument();
170
- });
171
- it('renders with correctness partial', function () {
172
- var _renderComponent12 = renderComponent({
173
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)],
174
- correctness: 'partial'
175
- }),
176
- container = _renderComponent12.container;
177
- expect(container.firstChild).toBeInTheDocument();
178
- });
179
- it('renders with building state', function () {
180
- var _renderComponent13 = renderComponent({
181
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)],
182
- building: true
183
- }),
184
- container = _renderComponent13.container;
185
- expect(container.firstChild).toBeInTheDocument();
186
- });
187
- });
188
- describe('labels', function () {
189
- it('renders with all points labeled', function () {
190
- var _renderWithLabels2 = renderWithLabels(),
191
- container = _renderWithLabels2.container;
192
- expect(container.firstChild).toBeInTheDocument();
193
- });
194
- it('renders with some points labeled', function () {
195
- var partialLabels = [xyLabel(0, 0, 0, 'A'), (0, _utils.xy)(2, 2, 1), xyLabel(0, 2, 2, 'C')];
196
- var _renderComponent14 = renderComponent({
197
- labelNode: labelNode,
198
- points: partialLabels
199
- }),
200
- container = _renderComponent14.container;
201
- expect(container.firstChild).toBeInTheDocument();
202
- });
203
- it('renders with empty labels', function () {
204
- var emptyLabels = [xyLabel(0, 0, 0, ''), xyLabel(2, 2, 1, ''), xyLabel(0, 2, 2, '')];
205
- var _renderComponent15 = renderComponent({
206
- labelNode: labelNode,
207
- points: emptyLabels
208
- }),
209
- container = _renderComponent15.container;
210
- expect(container.firstChild).toBeInTheDocument();
211
- });
212
- it('renders with long labels', function () {
213
- var longLabels = [xyLabel(0, 0, 0, 'Very Long Label A'), xyLabel(2, 2, 1, 'Very Long Label B'), xyLabel(0, 2, 2, 'Very Long Label C')];
214
- var _renderComponent16 = renderComponent({
215
- labelNode: labelNode,
216
- points: longLabels
217
- }),
218
- container = _renderComponent16.container;
219
- expect(container.firstChild).toBeInTheDocument();
220
- });
221
- it('renders without labelNode', function () {
222
- var _renderComponent17 = renderComponent({
223
- points: [xyLabel(0, 0, 0, 'A'), xyLabel(2, 2, 1, 'B')]
224
- }),
225
- container = _renderComponent17.container;
226
- expect(container.firstChild).toBeInTheDocument();
227
- });
228
- it('renders with labelModeEnabled', function () {
229
- var _renderWithLabels3 = renderWithLabels({
230
- labelModeEnabled: true
231
- }),
232
- container = _renderWithLabels3.container;
233
- expect(container.firstChild).toBeInTheDocument();
234
- });
235
- it('renders with labelModeEnabled disabled', function () {
236
- var _renderWithLabels4 = renderWithLabels({
237
- labelModeEnabled: false
238
- }),
239
- container = _renderWithLabels4.container;
240
- expect(container.firstChild).toBeInTheDocument();
241
- });
242
- });
243
- describe('props', function () {
244
- it('passes onChange callback', function () {
245
- var customOnChange = jest.fn();
246
- var _renderComponent18 = renderComponent({
247
- onChange: customOnChange,
248
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
249
- }),
250
- container = _renderComponent18.container;
251
- expect(container.firstChild).toBeInTheDocument();
252
- });
253
- it('passes onChangeProps callback', function () {
254
- var customOnChangeProps = jest.fn();
255
- var _renderComponent19 = renderComponent({
256
- onChangeProps: customOnChangeProps,
257
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
258
- }),
259
- container = _renderComponent19.container;
260
- expect(container.firstChild).toBeInTheDocument();
261
- });
262
- it('passes onClick callback', function () {
263
- var onClick = jest.fn();
264
- var _renderComponent20 = renderComponent({
265
- onClick: onClick,
266
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
267
- }),
268
- container = _renderComponent20.container;
269
- expect(container.firstChild).toBeInTheDocument();
270
- });
271
- it('passes onClosePolygon callback', function () {
272
- var onClosePolygon = jest.fn();
273
- var _renderComponent21 = renderComponent({
274
- onClosePolygon: onClosePolygon,
275
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 0, 2)]
276
- }),
277
- container = _renderComponent21.container;
278
- expect(container.firstChild).toBeInTheDocument();
279
- });
280
- it('passes onDragStart callback', function () {
281
- var onDragStart = jest.fn();
282
- var _renderComponent22 = renderComponent({
283
- onDragStart: onDragStart,
284
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
285
- }),
286
- container = _renderComponent22.container;
287
- expect(container.firstChild).toBeInTheDocument();
288
- });
289
- it('passes onDragStop callback', function () {
290
- var onDragStop = jest.fn();
291
- var _renderComponent23 = renderComponent({
292
- onDragStop: onDragStop,
293
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
294
- }),
295
- container = _renderComponent23.container;
296
- expect(container.firstChild).toBeInTheDocument();
297
- });
298
- it('passes coordinatesOnHover', function () {
299
- var _renderComponent24 = renderComponent({
300
- coordinatesOnHover: true,
301
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)]
302
- }),
303
- container = _renderComponent24.container;
304
- expect(container.firstChild).toBeInTheDocument();
305
- });
306
- it('passes graphProps', function () {
307
- var customGraphProps = (0, _utils.graphProps)(0, 10, 0, 10);
308
- var _renderComponent25 = renderComponent({
309
- graphProps: customGraphProps,
310
- points: [(0, _utils.xy)(5, 5, 0), (0, _utils.xy)(7, 7, 1)]
311
- }),
312
- container = _renderComponent25.container;
313
- expect(container.firstChild).toBeInTheDocument();
314
- });
315
- });
316
- describe('polygon shapes', function () {
317
- it('renders triangle', function () {
318
- var _renderComponent26 = renderComponent({
319
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(2, 0, 1), (0, _utils.xy)(1, 2, 2)],
320
- closed: true
321
- }),
322
- container = _renderComponent26.container;
323
- expect(container.firstChild).toBeInTheDocument();
324
- });
325
- it('renders square', function () {
326
- var _renderComponent27 = renderComponent({
327
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(2, 0, 1), (0, _utils.xy)(2, 2, 2), (0, _utils.xy)(0, 2, 3)],
328
- closed: true
329
- }),
330
- container = _renderComponent27.container;
331
- expect(container.firstChild).toBeInTheDocument();
332
- });
333
- it('renders pentagon', function () {
334
- var _renderComponent28 = renderComponent({
335
- points: [(0, _utils.xy)(1, 0, 0), (0, _utils.xy)(2, 1, 1), (0, _utils.xy)(1.5, 2.5, 2), (0, _utils.xy)(0.5, 2.5, 3), (0, _utils.xy)(0, 1, 4)],
336
- closed: true
337
- }),
338
- container = _renderComponent28.container;
339
- expect(container.firstChild).toBeInTheDocument();
340
- });
341
- it('renders hexagon', function () {
342
- var _renderComponent29 = renderComponent({
343
- points: [(0, _utils.xy)(1, 0, 0), (0, _utils.xy)(2, 0.5, 1), (0, _utils.xy)(2, 1.5, 2), (0, _utils.xy)(1, 2, 3), (0, _utils.xy)(0, 1.5, 4), (0, _utils.xy)(0, 0.5, 5)],
344
- closed: true
345
- }),
346
- container = _renderComponent29.container;
347
- expect(container.firstChild).toBeInTheDocument();
348
- });
349
- it('renders irregular polygon', function () {
350
- var _renderComponent30 = renderComponent({
351
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(3, 1, 1), (0, _utils.xy)(2, 4, 2), (0, _utils.xy)(-1, 3, 3)],
352
- closed: true
353
- }),
354
- container = _renderComponent30.container;
355
- expect(container.firstChild).toBeInTheDocument();
356
- });
357
- it('renders concave polygon', function () {
358
- var _renderComponent31 = renderComponent({
359
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(2, 0, 1), (0, _utils.xy)(2, 2, 2), (0, _utils.xy)(1, 1, 3), (0, _utils.xy)(0, 2, 4)],
360
- closed: true
361
- }),
362
- container = _renderComponent31.container;
363
- expect(container.firstChild).toBeInTheDocument();
364
- });
365
- });
366
- describe('edge cases', function () {
367
- it('handles empty points array', function () {
368
- var _renderComponent32 = renderComponent({
369
- points: []
370
- }),
371
- container = _renderComponent32.container;
372
- expect(container.firstChild).toBeInTheDocument();
373
- });
374
- it('handles points with same coordinates', function () {
375
- var _renderComponent33 = renderComponent({
376
- points: [(0, _utils.xy)(1, 1, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(1, 1, 2)]
377
- }),
378
- container = _renderComponent33.container;
379
- expect(container.firstChild).toBeInTheDocument();
380
- });
381
- it('handles collinear points', function () {
382
- var _renderComponent34 = renderComponent({
383
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1), (0, _utils.xy)(2, 2, 2)]
384
- }),
385
- container = _renderComponent34.container;
386
- expect(container.firstChild).toBeInTheDocument();
387
- });
388
- it('handles very close points', function () {
389
- var _renderComponent35 = renderComponent({
390
- points: [(0, _utils.xy)(1, 1, 0), (0, _utils.xy)(1.001, 1.001, 1), (0, _utils.xy)(1.002, 1.002, 2)]
391
- }),
392
- container = _renderComponent35.container;
393
- expect(container.firstChild).toBeInTheDocument();
394
- });
395
- it('handles large coordinate values', function () {
396
- var _renderComponent36 = renderComponent({
397
- points: [(0, _utils.xy)(1000, 1000, 0), (0, _utils.xy)(2000, 1000, 1), (0, _utils.xy)(1500, 2000, 2)]
398
- }),
399
- container = _renderComponent36.container;
400
- expect(container.firstChild).toBeInTheDocument();
401
- });
402
- it('handles mixed positive and negative coordinates', function () {
403
- var _renderComponent37 = renderComponent({
404
- points: [(0, _utils.xy)(-5, 5, 0), (0, _utils.xy)(5, 5, 1), (0, _utils.xy)(5, -5, 2), (0, _utils.xy)(-5, -5, 3)],
405
- closed: true
406
- }),
407
- container = _renderComponent37.container;
408
- expect(container.firstChild).toBeInTheDocument();
409
- });
410
- it('handles points without index', function () {
411
- var _renderComponent38 = renderComponent({
412
- points: [{
413
- x: 0,
414
- y: 0
415
- }, {
416
- x: 1,
417
- y: 1
418
- }, {
419
- x: 2,
420
- y: 0
421
- }]
422
- }),
423
- container = _renderComponent38.container;
424
- expect(container.firstChild).toBeInTheDocument();
425
- });
426
- });
427
- describe('integration', function () {
428
- it('renders complete closed polygon with all features', function () {
429
- var _renderComponent39 = renderComponent({
430
- points: points,
431
- closed: true,
432
- labelNode: labelNode,
433
- labelModeEnabled: true,
434
- coordinatesOnHover: true,
435
- correctness: 'correct',
436
- disabled: false,
437
- onChange: jest.fn(),
438
- onChangeProps: jest.fn(),
439
- onClosePolygon: jest.fn(),
440
- onClick: jest.fn(),
441
- onDragStart: jest.fn(),
442
- onDragStop: jest.fn()
443
- }),
444
- container = _renderComponent39.container;
445
- expect(container.firstChild).toBeInTheDocument();
446
- });
447
- it('renders building polygon', function () {
448
- var _renderComponent40 = renderComponent({
449
- points: [(0, _utils.xy)(0, 0, 0), (0, _utils.xy)(1, 1, 1)],
450
- building: true,
451
- closed: false
452
- }),
453
- container = _renderComponent40.container;
454
- expect(container.firstChild).toBeInTheDocument();
455
- });
456
- it('renders disabled polygon with labels', function () {
457
- var _renderComponent41 = renderComponent({
458
- points: points,
459
- labelNode: labelNode,
460
- disabled: true,
461
- closed: true
462
- }),
463
- container = _renderComponent41.container;
464
- expect(container.firstChild).toBeInTheDocument();
465
- });
466
- it('renders polygon with incorrect correctness', function () {
467
- var _renderComponent42 = renderComponent({
468
- points: points,
469
- closed: true,
470
- correctness: 'incorrect'
471
- }),
472
- container = _renderComponent42.container;
473
- expect(container.firstChild).toBeInTheDocument();
474
- });
475
- });
476
-
477
- // Note: Instance method tests (dragPoint, dragLine, dragPoly, labelChange, clickPoint)
478
- // have been removed as they test internal implementation details.
479
- // These behaviors should be tested through:
480
- // 1. User interaction tests (drag-and-drop, clicks) - requires complex setup with @dnd-kit
481
- // 2. Integration/E2E tests
482
- // 3. Testing the pure logic functions (buildLines, swap) which are already tested above
483
- // The component's public API (onChange, onChangeProps callbacks) is what matters for RTL testing.
484
- });
485
- //# sourceMappingURL=component.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"component.test.js","names":["_testUtils","require","_react","_interopRequireDefault","_utils","_component","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","xyLabel","x","y","index","label","xy","describe","defaultPoints","assertBuildLines","points","closed","expected","it","concat","result","buildLines","expect","toMatchObject","from","to","swap","toEqual","onChange","jest","fn","onChangeProps","renderComponent","extras","defaults","classes","className","onClosePolygon","graphProps","props","render","createElement","RawBaseComponent","labelNode","document","renderWithLabels","_renderComponent","container","firstChild","toBeInTheDocument","_renderWithLabels","_renderComponent2","_renderComponent3","_renderComponent4","_renderComponent5","manyPoints","Array","_","i","_renderComponent6","_renderComponent7","_renderComponent8","_renderComponent9","_renderComponent0","disabled","_renderComponent1","_renderComponent10","correctness","_renderComponent11","_renderComponent12","_renderComponent13","building","_renderWithLabels2","partialLabels","_renderComponent14","emptyLabels","_renderComponent15","longLabels","_renderComponent16","_renderComponent17","_renderWithLabels3","labelModeEnabled","_renderWithLabels4","customOnChange","_renderComponent18","customOnChangeProps","_renderComponent19","onClick","_renderComponent20","_renderComponent21","onDragStart","_renderComponent22","onDragStop","_renderComponent23","_renderComponent24","coordinatesOnHover","customGraphProps","_renderComponent25","_renderComponent26","_renderComponent27","_renderComponent28","_renderComponent29","_renderComponent30","_renderComponent31","_renderComponent32","_renderComponent33","_renderComponent34","_renderComponent35","_renderComponent36","_renderComponent37","_renderComponent38","_renderComponent39","_renderComponent40","_renderComponent41","_renderComponent42"],"sources":["../../../../src/tools/polygon/__tests__/component.test.jsx"],"sourcesContent":["import { render } from '@pie-lib/test-utils';\nimport React from 'react';\nimport { graphProps, xy } from '../../../__tests__/utils';\n\nimport { buildLines, RawBaseComponent, swap } from '../component';\n\nconst xyLabel = (x, y, index, label) => ({\n ...xy(x, y, index),\n label,\n});\n\ndescribe('buildLines', () => {\n const defaultPoints = [xy(0, 0), xy(1, 1), xy(1, 0)];\n\n const assertBuildLines = (points, closed, expected) => {\n it(`builds points and lines for ${points} = ${expected}`, () => {\n const result = buildLines(points);\n expect(result).toMatchObject([\n { from: xy(0, 0, 0), to: xy(1, 1, 1) },\n { from: xy(1, 1, 1), to: xy(1, 0, 2) },\n ]);\n });\n };\n\n assertBuildLines(defaultPoints, true, []);\n});\n\ndescribe('swap', () => {\n it('swaps pairs', () => {\n const result = swap([xy(0, 0, 0), xy(1, 1, 1), xy(2, 2, 2)], xy(0, 0, 0), xy(3, 3, 0));\n expect(result).toEqual([xy(3, 3, 0), xy(1, 1, 1), xy(2, 2, 2)]);\n });\n});\n\ndescribe('RawBaseComponent', () => {\n let onChange = jest.fn();\n let onChangeProps = jest.fn();\n const renderComponent = (extras) => {\n const defaults = {\n classes: {},\n className: 'className',\n onChange,\n onChangeProps,\n onClosePolygon: jest.fn(),\n graphProps: graphProps(),\n points: [],\n };\n const props = { ...defaults, ...extras };\n\n return render(<RawBaseComponent {...props} />);\n };\n\n // used to test items that have labels attached to points\n const labelNode = document.createElement('foreignObject');\n const points = [xyLabel(0, 0, 0, 'A'), xyLabel(2, 2, 1, 'B'), xyLabel(0, 2, 2, 'C')];\n const renderWithLabels = (extras) =>\n renderComponent({\n labelNode: labelNode,\n points: points,\n ...extras,\n });\n\n describe('rendering', () => {\n it('renders without crashing', () => {\n const { container } = renderComponent();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with labels', () => {\n const { container } = renderWithLabels();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with multiple points', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with closed polygon', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with single point', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with two points', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with many points', () => {\n const manyPoints = Array.from({ length: 10 }, (_, i) => xy(i, i, i));\n const { container } = renderComponent({\n points: manyPoints,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with negative coordinates', () => {\n const { container } = renderComponent({\n points: [xy(-5, -5, 0), xy(-1, -1, 1), xy(-3, -2, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with decimal coordinates', () => {\n const { container } = renderComponent({\n points: [xy(0.5, 0.5, 0), xy(1.5, 1.5, 1), xy(2.5, 0.5, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with zero coordinates', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(0, 0, 1), xy(0, 0, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('states', () => {\n it('renders in disabled state', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n disabled: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders in enabled state', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n disabled: false,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with correctness correct', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n correctness: 'correct',\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with correctness incorrect', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n correctness: 'incorrect',\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with correctness partial', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n correctness: 'partial',\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with building state', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n building: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('labels', () => {\n it('renders with all points labeled', () => {\n const { container } = renderWithLabels();\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with some points labeled', () => {\n const partialLabels = [xyLabel(0, 0, 0, 'A'), xy(2, 2, 1), xyLabel(0, 2, 2, 'C')];\n const { container } = renderComponent({\n labelNode,\n points: partialLabels,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with empty labels', () => {\n const emptyLabels = [xyLabel(0, 0, 0, ''), xyLabel(2, 2, 1, ''), xyLabel(0, 2, 2, '')];\n const { container } = renderComponent({\n labelNode,\n points: emptyLabels,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with long labels', () => {\n const longLabels = [\n xyLabel(0, 0, 0, 'Very Long Label A'),\n xyLabel(2, 2, 1, 'Very Long Label B'),\n xyLabel(0, 2, 2, 'Very Long Label C'),\n ];\n const { container } = renderComponent({\n labelNode,\n points: longLabels,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders without labelNode', () => {\n const { container } = renderComponent({\n points: [xyLabel(0, 0, 0, 'A'), xyLabel(2, 2, 1, 'B')],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with labelModeEnabled', () => {\n const { container } = renderWithLabels({ labelModeEnabled: true });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders with labelModeEnabled disabled', () => {\n const { container } = renderWithLabels({ labelModeEnabled: false });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('props', () => {\n it('passes onChange callback', () => {\n const customOnChange = jest.fn();\n const { container } = renderComponent({\n onChange: customOnChange,\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes onChangeProps callback', () => {\n const customOnChangeProps = jest.fn();\n const { container } = renderComponent({\n onChangeProps: customOnChangeProps,\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes onClick callback', () => {\n const onClick = jest.fn();\n const { container } = renderComponent({\n onClick,\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes onClosePolygon callback', () => {\n const onClosePolygon = jest.fn();\n const { container } = renderComponent({\n onClosePolygon,\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 0, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes onDragStart callback', () => {\n const onDragStart = jest.fn();\n const { container } = renderComponent({\n onDragStart,\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes onDragStop callback', () => {\n const onDragStop = jest.fn();\n const { container } = renderComponent({\n onDragStop,\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes coordinatesOnHover', () => {\n const { container } = renderComponent({\n coordinatesOnHover: true,\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('passes graphProps', () => {\n const customGraphProps = graphProps(0, 10, 0, 10);\n const { container } = renderComponent({\n graphProps: customGraphProps,\n points: [xy(5, 5, 0), xy(7, 7, 1)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('polygon shapes', () => {\n it('renders triangle', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(2, 0, 1), xy(1, 2, 2)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders square', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(2, 0, 1), xy(2, 2, 2), xy(0, 2, 3)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders pentagon', () => {\n const { container } = renderComponent({\n points: [xy(1, 0, 0), xy(2, 1, 1), xy(1.5, 2.5, 2), xy(0.5, 2.5, 3), xy(0, 1, 4)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders hexagon', () => {\n const { container } = renderComponent({\n points: [xy(1, 0, 0), xy(2, 0.5, 1), xy(2, 1.5, 2), xy(1, 2, 3), xy(0, 1.5, 4), xy(0, 0.5, 5)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders irregular polygon', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(3, 1, 1), xy(2, 4, 2), xy(-1, 3, 3)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders concave polygon', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(2, 0, 1), xy(2, 2, 2), xy(1, 1, 3), xy(0, 2, 4)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('edge cases', () => {\n it('handles empty points array', () => {\n const { container } = renderComponent({ points: [] });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles points with same coordinates', () => {\n const { container } = renderComponent({\n points: [xy(1, 1, 0), xy(1, 1, 1), xy(1, 1, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles collinear points', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1), xy(2, 2, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles very close points', () => {\n const { container } = renderComponent({\n points: [xy(1, 1, 0), xy(1.001, 1.001, 1), xy(1.002, 1.002, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles large coordinate values', () => {\n const { container } = renderComponent({\n points: [xy(1000, 1000, 0), xy(2000, 1000, 1), xy(1500, 2000, 2)],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles mixed positive and negative coordinates', () => {\n const { container } = renderComponent({\n points: [xy(-5, 5, 0), xy(5, 5, 1), xy(5, -5, 2), xy(-5, -5, 3)],\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('handles points without index', () => {\n const { container } = renderComponent({\n points: [\n { x: 0, y: 0 },\n { x: 1, y: 1 },\n { x: 2, y: 0 },\n ],\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n describe('integration', () => {\n it('renders complete closed polygon with all features', () => {\n const { container } = renderComponent({\n points: points,\n closed: true,\n labelNode,\n labelModeEnabled: true,\n coordinatesOnHover: true,\n correctness: 'correct',\n disabled: false,\n onChange: jest.fn(),\n onChangeProps: jest.fn(),\n onClosePolygon: jest.fn(),\n onClick: jest.fn(),\n onDragStart: jest.fn(),\n onDragStop: jest.fn(),\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders building polygon', () => {\n const { container } = renderComponent({\n points: [xy(0, 0, 0), xy(1, 1, 1)],\n building: true,\n closed: false,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders disabled polygon with labels', () => {\n const { container } = renderComponent({\n points: points,\n labelNode,\n disabled: true,\n closed: true,\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n\n it('renders polygon with incorrect correctness', () => {\n const { container } = renderComponent({\n points: points,\n closed: true,\n correctness: 'incorrect',\n });\n expect(container.firstChild).toBeInTheDocument();\n });\n });\n\n // Note: Instance method tests (dragPoint, dragLine, dragPoly, labelChange, clickPoint)\n // have been removed as they test internal implementation details.\n // These behaviors should be tested through:\n // 1. User interaction tests (drag-and-drop, clicks) - requires complex setup with @dnd-kit\n // 2. Integration/E2E tests\n // 3. Testing the pure logic functions (buildLines, swap) which are already tested above\n // The component's public API (onChange, onChangeProps callbacks) is what matters for RTL testing.\n});\n"],"mappings":"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","ignoreList":[]}