@reltio/components 1.4.2257 → 1.4.2259
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/ReltioMap/ReltioMap.d.ts +5 -8
- package/ReltioMap/ReltioMap.js +31 -39
- package/ReltioMap/ReltioMap.spec.js +299 -104
- package/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.d.ts +2 -1
- package/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.js +11 -13
- package/ReltioMap/components/EntityMarker/EntityMarker.d.ts +2 -1
- package/ReltioMap/components/EntityMarker/EntityMarker.js +3 -3
- package/ReltioMap/components/PolygonDrawing/PolygonDrawing.d.ts +4 -0
- package/ReltioMap/components/PolygonDrawing/PolygonDrawing.js +18 -0
- package/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.d.ts +1 -0
- package/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.js +1 -0
- package/ReltioMap/components/PolygonDrawing/index.d.ts +2 -0
- package/ReltioMap/components/PolygonDrawing/index.js +2 -0
- package/ReltioMap/components/PolygonDrawing/polygonRingHelpers.d.ts +5 -0
- package/ReltioMap/components/PolygonDrawing/polygonRingHelpers.js +43 -0
- package/ReltioMap/components/PolygonDrawing/useDrawingCursors.d.ts +6 -0
- package/ReltioMap/components/PolygonDrawing/useDrawingCursors.js +87 -0
- package/ReltioMap/components/PolygonDrawing/usePolygonDrawing.d.ts +9 -0
- package/ReltioMap/components/PolygonDrawing/usePolygonDrawing.js +197 -0
- package/ReltioMap/components/PolygonDrawing/usePreviewPolylines.d.ts +7 -0
- package/ReltioMap/components/PolygonDrawing/usePreviewPolylines.js +38 -0
- package/ReltioMap/components/PolygonDrawing/useVertexHandles.d.ts +14 -0
- package/ReltioMap/components/PolygonDrawing/useVertexHandles.js +85 -0
- package/ReltioMap/components/TopRightMapControls/TopRightMapControls.d.ts +3 -3
- package/ReltioMap/components/TopRightMapControls/TopRightMapControls.js +4 -18
- package/ReltioMap/helpers.d.ts +2 -1
- package/ReltioMap/helpers.js +3 -11
- package/ReltioMap/types.d.ts +2 -2
- package/cjs/ReltioMap/ReltioMap.d.ts +5 -8
- package/cjs/ReltioMap/ReltioMap.js +29 -37
- package/cjs/ReltioMap/ReltioMap.spec.js +298 -103
- package/cjs/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.d.ts +2 -1
- package/cjs/ReltioMap/components/ClusteredMarkers/ClusteredMarkers.js +11 -13
- package/cjs/ReltioMap/components/EntityMarker/EntityMarker.d.ts +2 -1
- package/cjs/ReltioMap/components/EntityMarker/EntityMarker.js +3 -3
- package/cjs/ReltioMap/components/PolygonDrawing/PolygonDrawing.d.ts +4 -0
- package/cjs/ReltioMap/components/PolygonDrawing/PolygonDrawing.js +22 -0
- package/cjs/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.d.ts +1 -0
- package/cjs/ReltioMap/components/PolygonDrawing/crosshair.inline.svg.js +4 -0
- package/cjs/ReltioMap/components/PolygonDrawing/index.d.ts +2 -0
- package/cjs/ReltioMap/components/PolygonDrawing/index.js +7 -0
- package/cjs/ReltioMap/components/PolygonDrawing/polygonRingHelpers.d.ts +5 -0
- package/cjs/ReltioMap/components/PolygonDrawing/polygonRingHelpers.js +50 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useDrawingCursors.d.ts +6 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useDrawingCursors.js +91 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePolygonDrawing.d.ts +9 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePolygonDrawing.js +202 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePreviewPolylines.d.ts +7 -0
- package/cjs/ReltioMap/components/PolygonDrawing/usePreviewPolylines.js +42 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useVertexHandles.d.ts +14 -0
- package/cjs/ReltioMap/components/PolygonDrawing/useVertexHandles.js +89 -0
- package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.d.ts +3 -3
- package/cjs/ReltioMap/components/TopRightMapControls/TopRightMapControls.js +3 -17
- package/cjs/ReltioMap/helpers.d.ts +2 -1
- package/cjs/ReltioMap/helpers.js +8 -15
- package/cjs/ReltioMap/types.d.ts +2 -2
- package/cjs/constants/index.d.ts +1 -1
- package/cjs/constants/index.js +2 -2
- package/cjs/constants/map.d.ts +1 -2
- package/cjs/constants/map.js +2 -5
- package/cjs/features/workflow/AddWorkflowDialog/styles.d.ts +1 -1
- package/cjs/icons/index.d.ts +0 -1
- package/cjs/icons/index.js +2 -4
- package/constants/index.d.ts +1 -1
- package/constants/index.js +1 -1
- package/constants/map.d.ts +1 -2
- package/constants/map.js +1 -4
- package/features/workflow/AddWorkflowDialog/styles.d.ts +1 -1
- package/icons/index.d.ts +0 -1
- package/icons/index.js +0 -1
- package/package.json +2 -2
- package/ReltioMap/components/DrawingManager/DrawingManager.d.ts +0 -2
- package/ReltioMap/components/DrawingManager/DrawingManager.js +0 -5
- package/ReltioMap/components/DrawingManager/index.d.ts +0 -1
- package/ReltioMap/components/DrawingManager/index.js +0 -1
- package/ReltioMap/components/DrawingManager/useDrawingManager.d.ts +0 -7
- package/ReltioMap/components/DrawingManager/useDrawingManager.js +0 -36
- package/ReltioMap/googleMock.test-data.d.ts +0 -1
- package/ReltioMap/googleMock.test-data.js +0 -109
- package/cjs/ReltioMap/components/DrawingManager/DrawingManager.d.ts +0 -2
- package/cjs/ReltioMap/components/DrawingManager/DrawingManager.js +0 -9
- package/cjs/ReltioMap/components/DrawingManager/index.d.ts +0 -1
- package/cjs/ReltioMap/components/DrawingManager/index.js +0 -5
- package/cjs/ReltioMap/components/DrawingManager/useDrawingManager.d.ts +0 -7
- package/cjs/ReltioMap/components/DrawingManager/useDrawingManager.js +0 -40
- package/cjs/ReltioMap/googleMock.test-data.d.ts +0 -1
- package/cjs/ReltioMap/googleMock.test-data.js +0 -113
- package/cjs/icons/Radius.d.ts +0 -3
- package/cjs/icons/Radius.js +0 -22
- package/icons/Radius.d.ts +0 -3
- package/icons/Radius.js +0 -17
|
@@ -88,6 +88,7 @@ var user_event_1 = __importDefault(require("@testing-library/user-event"));
|
|
|
88
88
|
var ramda_1 = require("ramda");
|
|
89
89
|
var jest_mocks_1 = require("@googlemaps/jest-mocks");
|
|
90
90
|
var constants_1 = require("../constants");
|
|
91
|
+
var usePolygonDrawing_1 = require("./components/PolygonDrawing/usePolygonDrawing");
|
|
91
92
|
var helpers = __importStar(require("./helpers"));
|
|
92
93
|
var ReltioMap_1 = require("./ReltioMap");
|
|
93
94
|
jest.mock('@vis.gl/react-google-maps', function () { return (__assign(__assign({}, jest.requireActual('@vis.gl/react-google-maps')), { MapControl: function (_a) {
|
|
@@ -109,8 +110,24 @@ describe('ReltioMap tests', function () {
|
|
|
109
110
|
var user = user_event_1.default.setup();
|
|
110
111
|
return __assign(__assign({}, (0, react_2.render)(react_1.default.createElement(ReltioMap_1.ReltioMap, __assign({}, props)))), { user: user });
|
|
111
112
|
};
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
/**
|
|
114
|
+
* Map click payload: must expose lat()/lng() for serialization and equals() for polygonRingHelpers
|
|
115
|
+
*/
|
|
116
|
+
var mapMouseEventWith = function (lat, lng) { return ({
|
|
117
|
+
latLng: {
|
|
118
|
+
lat: function () { return lat; },
|
|
119
|
+
lng: function () { return lng; },
|
|
120
|
+
equals: function (other) {
|
|
121
|
+
var oLat = typeof other.lat === 'function'
|
|
122
|
+
? other.lat()
|
|
123
|
+
: other.lat;
|
|
124
|
+
var oLng = typeof other.lng === 'function'
|
|
125
|
+
? other.lng()
|
|
126
|
+
: other.lng;
|
|
127
|
+
return oLat === lat && oLng === lng;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
}); };
|
|
114
131
|
beforeAll(function () {
|
|
115
132
|
(0, jest_mocks_1.initialize)();
|
|
116
133
|
var OriginalMap = google.maps.Map;
|
|
@@ -119,32 +136,11 @@ describe('ReltioMap tests', function () {
|
|
|
119
136
|
for (var _i = 0; _i < arguments.length; _i++) {
|
|
120
137
|
args[_i] = arguments[_i];
|
|
121
138
|
}
|
|
122
|
-
|
|
139
|
+
var mapInstance = new (OriginalMap.bind.apply(OriginalMap, __spreadArray([void 0], args, false)))();
|
|
140
|
+
mapInstance.setOptions = jest.fn();
|
|
141
|
+
mapInstance.get = jest.fn(function () { return undefined; });
|
|
142
|
+
return mapInstance;
|
|
123
143
|
});
|
|
124
|
-
global.google.maps.drawing.DrawingManager = /** @class */ (function () {
|
|
125
|
-
function DrawingManager() {
|
|
126
|
-
var args = [];
|
|
127
|
-
for (var _i = 0; _i < arguments.length; _i++) {
|
|
128
|
-
args[_i] = arguments[_i];
|
|
129
|
-
}
|
|
130
|
-
this.addListener = jest.fn();
|
|
131
|
-
this.getDrawingMode = jest.fn();
|
|
132
|
-
this.getMap = jest.fn();
|
|
133
|
-
this.setDrawingMode = jest.fn();
|
|
134
|
-
this.setMap = jest.fn();
|
|
135
|
-
this.setOptions = jest.fn();
|
|
136
|
-
drawingManagerConstructorSpy.apply(void 0, args);
|
|
137
|
-
drawingManagerInstance = this;
|
|
138
|
-
}
|
|
139
|
-
return DrawingManager;
|
|
140
|
-
}());
|
|
141
|
-
global.google.maps.drawing.OverlayType = {
|
|
142
|
-
CIRCLE: 'circle',
|
|
143
|
-
MARKER: 'marker',
|
|
144
|
-
POLYGON: 'polygon',
|
|
145
|
-
POLYLINE: 'polyline',
|
|
146
|
-
RECTANGLE: 'rectangle'
|
|
147
|
-
};
|
|
148
144
|
var overlayView = new jest_mocks_1.OverlayView();
|
|
149
145
|
for (var property in overlayView) {
|
|
150
146
|
if (!global.google.maps.OverlayView.prototype.hasOwnProperty(property)) {
|
|
@@ -152,9 +148,6 @@ describe('ReltioMap tests', function () {
|
|
|
152
148
|
}
|
|
153
149
|
}
|
|
154
150
|
});
|
|
155
|
-
beforeEach(function () {
|
|
156
|
-
drawingManagerInstance = null;
|
|
157
|
-
});
|
|
158
151
|
afterEach(function () {
|
|
159
152
|
jest.clearAllMocks();
|
|
160
153
|
jest_mocks_1.mockInstances.clearAll();
|
|
@@ -170,13 +163,14 @@ describe('ReltioMap tests', function () {
|
|
|
170
163
|
}, target.addListener.mock.calls)) === null || _b === void 0 ? void 0 : _b[1]);
|
|
171
164
|
};
|
|
172
165
|
var getLastInstance = function (instance) { return (0, ramda_1.last)(jest_mocks_1.mockInstances.get(instance)); };
|
|
166
|
+
var getFirstInstance = function (instance) { var _a; return (_a = jest_mocks_1.mockInstances.get(instance)) === null || _a === void 0 ? void 0 : _a[0]; };
|
|
173
167
|
describe('general behaviour', function () {
|
|
174
168
|
it('should render map controls', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
175
169
|
var _a;
|
|
176
170
|
return __generator(this, function (_b) {
|
|
177
171
|
switch (_b.label) {
|
|
178
172
|
case 0:
|
|
179
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
173
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true }));
|
|
180
174
|
_a = expect;
|
|
181
175
|
return [4 /*yield*/, react_2.screen.findByLabelText('Draw area')];
|
|
182
176
|
case 1:
|
|
@@ -192,7 +186,7 @@ describe('ReltioMap tests', function () {
|
|
|
192
186
|
switch (_a.label) {
|
|
193
187
|
case 0:
|
|
194
188
|
mapOptions = { mapTypeControl: true };
|
|
195
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
189
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, mapOptions: mapOptions }));
|
|
196
190
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
197
191
|
expect(google.maps.Map).toHaveBeenCalledWith(expect.any(HTMLElement), expect.objectContaining({
|
|
198
192
|
fullscreenControl: false,
|
|
@@ -210,7 +204,7 @@ describe('ReltioMap tests', function () {
|
|
|
210
204
|
return __generator(this, function (_a) {
|
|
211
205
|
switch (_a.label) {
|
|
212
206
|
case 0:
|
|
213
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
207
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, isSearchEnabled: false }));
|
|
214
208
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
215
209
|
expect(react_2.screen.queryByLabelText('Draw area')).not.toBeInTheDocument();
|
|
216
210
|
})];
|
|
@@ -236,7 +230,7 @@ describe('ReltioMap tests', function () {
|
|
|
236
230
|
}
|
|
237
231
|
];
|
|
238
232
|
onMarkerClick = jest.fn();
|
|
239
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
233
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, onMarkerClicked: onMarkerClick, markers: markers }));
|
|
240
234
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
241
235
|
markerMock = getLastInstance(jest_mocks_1.AdvancedMarkerElement);
|
|
242
236
|
expect(markerMock).toBeDefined();
|
|
@@ -280,7 +274,7 @@ describe('ReltioMap tests', function () {
|
|
|
280
274
|
});
|
|
281
275
|
it('should fit map bounds correctly if markers loaded later than map and activeOverlay is not null', function () {
|
|
282
276
|
var activeOverlay = {
|
|
283
|
-
type: constants_1.
|
|
277
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
284
278
|
path: [
|
|
285
279
|
{ lat: 1, lng: 1 },
|
|
286
280
|
{ lat: 2, lng: 2 }
|
|
@@ -341,7 +335,7 @@ describe('ReltioMap tests', function () {
|
|
|
341
335
|
var fitMapBoundsForOverlay = jest.spyOn(helpers, 'fitMapBoundsForOverlay');
|
|
342
336
|
var rerender = setUp(__assign(__assign({}, defaultProps), { activeOverlay: null })).rerender;
|
|
343
337
|
var newProps = __assign(__assign({}, defaultProps), { activeOverlay: {
|
|
344
|
-
type: constants_1.
|
|
338
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
345
339
|
path: [
|
|
346
340
|
{ lat: 1, lng: 1 },
|
|
347
341
|
{ lat: 2, lng: 2 }
|
|
@@ -358,7 +352,7 @@ describe('ReltioMap tests', function () {
|
|
|
358
352
|
var fitMapBoundsForOverlay = jest.spyOn(helpers, 'fitMapBoundsForOverlay');
|
|
359
353
|
var rerender = setUp(__assign(__assign({}, defaultProps), { activeOverlay: null })).rerender;
|
|
360
354
|
var newProps = __assign(__assign({}, defaultProps), { activeOverlay: {
|
|
361
|
-
type: constants_1.
|
|
355
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
362
356
|
path: [
|
|
363
357
|
{ lat: 1, lng: 1 },
|
|
364
358
|
{ lat: 2, lng: 2 }
|
|
@@ -409,16 +403,16 @@ describe('ReltioMap tests', function () {
|
|
|
409
403
|
switch (_b.label) {
|
|
410
404
|
case 0:
|
|
411
405
|
activeOverlay = {
|
|
412
|
-
type: constants_1.
|
|
406
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
413
407
|
path: [
|
|
414
408
|
{ lat: 1, lng: 1 },
|
|
415
409
|
{ lat: 2, lng: 2 }
|
|
416
410
|
]
|
|
417
411
|
};
|
|
418
|
-
_a = setUp(__assign(__assign({}, defaultProps), {
|
|
412
|
+
_a = setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay })), user = _a.user, rerender = _a.rerender;
|
|
419
413
|
polygon = getLastInstance(jest_mocks_1.Polygon);
|
|
420
414
|
expect(polygon.setOptions).toHaveBeenCalledWith(expect.objectContaining({ paths: activeOverlay.path }));
|
|
421
|
-
newProps = __assign(__assign({}, defaultProps), {
|
|
415
|
+
newProps = __assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: null });
|
|
422
416
|
rerender(react_1.default.createElement(ReltioMap_1.ReltioMap, __assign({}, newProps)));
|
|
423
417
|
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
424
418
|
case 1:
|
|
@@ -428,16 +422,16 @@ describe('ReltioMap tests', function () {
|
|
|
428
422
|
}
|
|
429
423
|
});
|
|
430
424
|
}); });
|
|
431
|
-
it('should not render Polygon if "activeOverlay"
|
|
425
|
+
it('should not render Polygon if "activeOverlay" is not a polygon', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
432
426
|
var activeOverlay;
|
|
433
427
|
return __generator(this, function (_a) {
|
|
434
428
|
switch (_a.label) {
|
|
435
429
|
case 0:
|
|
436
430
|
activeOverlay = {
|
|
437
|
-
type:
|
|
431
|
+
type: 'bounds-rectangle',
|
|
438
432
|
path: [{ lat: 1, lng: 1 }]
|
|
439
433
|
};
|
|
440
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
434
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay }));
|
|
441
435
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
442
436
|
expect(jest_mocks_1.mockInstances.get(jest_mocks_1.Polygon)).toHaveLength(0);
|
|
443
437
|
})];
|
|
@@ -453,19 +447,19 @@ describe('ReltioMap tests', function () {
|
|
|
453
447
|
switch (_a.label) {
|
|
454
448
|
case 0:
|
|
455
449
|
activeOverlay = {
|
|
456
|
-
type: constants_1.
|
|
450
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
457
451
|
path: [
|
|
458
452
|
{ lat: 1, lng: 1 },
|
|
459
453
|
{ lat: 2, lng: 2 }
|
|
460
454
|
]
|
|
461
455
|
};
|
|
462
456
|
onOverlayUpdated = jest.fn();
|
|
463
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
457
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated }));
|
|
464
458
|
polygon = getLastInstance(jest_mocks_1.Polygon);
|
|
465
459
|
getEventHandler(polygon, 'mouseup')();
|
|
466
460
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
467
461
|
expect(onOverlayUpdated).toHaveBeenCalledWith({
|
|
468
|
-
type: constants_1.
|
|
462
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
469
463
|
data: []
|
|
470
464
|
});
|
|
471
465
|
})];
|
|
@@ -482,19 +476,19 @@ describe('ReltioMap tests', function () {
|
|
|
482
476
|
switch (_a.label) {
|
|
483
477
|
case 0:
|
|
484
478
|
activeOverlay = {
|
|
485
|
-
type: constants_1.
|
|
479
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
486
480
|
path: [
|
|
487
481
|
{ lat: 1, lng: 1 },
|
|
488
482
|
{ lat: 2, lng: 2 }
|
|
489
483
|
]
|
|
490
484
|
};
|
|
491
485
|
onOverlayUpdated = jest.fn();
|
|
492
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
486
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated }));
|
|
493
487
|
polygon = getLastInstance(jest_mocks_1.Polygon);
|
|
494
488
|
getEventHandler(polygon, 'dragend')();
|
|
495
489
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
496
490
|
expect(onOverlayUpdated).toHaveBeenCalledWith({
|
|
497
|
-
type: constants_1.
|
|
491
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
498
492
|
data: []
|
|
499
493
|
});
|
|
500
494
|
})];
|
|
@@ -507,46 +501,54 @@ describe('ReltioMap tests', function () {
|
|
|
507
501
|
}); });
|
|
508
502
|
});
|
|
509
503
|
describe('drawing behavior', function () {
|
|
510
|
-
it("shouldn't
|
|
504
|
+
it("shouldn't enable double-click zoom suppression before entering draw mode", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
505
|
+
var mapMock;
|
|
511
506
|
return __generator(this, function (_a) {
|
|
512
507
|
switch (_a.label) {
|
|
513
508
|
case 0:
|
|
514
|
-
setUp(__assign(__assign({}, defaultProps), {
|
|
515
|
-
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
516
|
-
expect(drawingManagerInstance).not.toBe(null);
|
|
517
|
-
})];
|
|
509
|
+
setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true }));
|
|
510
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
|
|
518
511
|
case 1:
|
|
519
|
-
_a.sent();
|
|
520
|
-
expect(
|
|
512
|
+
mapMock = _a.sent();
|
|
513
|
+
expect(mapMock.setOptions).not.toHaveBeenCalledWith({ disableDoubleClickZoom: true });
|
|
521
514
|
return [2 /*return*/];
|
|
522
515
|
}
|
|
523
516
|
});
|
|
524
517
|
}); });
|
|
525
|
-
it('should
|
|
526
|
-
var user;
|
|
518
|
+
it('should toggle double-click zoom suppression when entering and leaving polygon drawing mode', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
519
|
+
var user, mapMock;
|
|
527
520
|
return __generator(this, function (_a) {
|
|
528
521
|
switch (_a.label) {
|
|
529
522
|
case 0:
|
|
530
|
-
user = setUp(__assign(__assign({}, defaultProps), {
|
|
531
|
-
return [4 /*yield*/,
|
|
523
|
+
user = setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true })).user;
|
|
524
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
|
|
532
525
|
case 1:
|
|
526
|
+
mapMock = _a.sent();
|
|
527
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
528
|
+
case 2:
|
|
533
529
|
_a.sent();
|
|
534
|
-
expect(
|
|
530
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
|
|
531
|
+
draggableCursor: usePolygonDrawing_1.MAP_DRAWING_CROSSHAIR_CURSOR
|
|
532
|
+
}));
|
|
533
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
|
|
534
|
+
disableDoubleClickZoom: true,
|
|
535
|
+
clickableIcons: false
|
|
536
|
+
}));
|
|
535
537
|
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Clear area'))];
|
|
536
|
-
case
|
|
538
|
+
case 3:
|
|
537
539
|
_a.sent();
|
|
538
|
-
expect(
|
|
540
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({ disableDoubleClickZoom: false }));
|
|
539
541
|
return [2 /*return*/];
|
|
540
542
|
}
|
|
541
543
|
});
|
|
542
544
|
}); });
|
|
543
|
-
it("shouldn't
|
|
545
|
+
it("shouldn't attach polygon drawing listeners when polygon drawing is disabled", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
544
546
|
return __generator(this, function (_a) {
|
|
545
547
|
switch (_a.label) {
|
|
546
548
|
case 0:
|
|
547
549
|
setUp(__assign({}, defaultProps));
|
|
548
550
|
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
549
|
-
expect(
|
|
551
|
+
expect(react_2.screen.queryByLabelText('Draw area')).not.toBeInTheDocument();
|
|
550
552
|
})];
|
|
551
553
|
case 1:
|
|
552
554
|
_a.sent();
|
|
@@ -554,7 +556,7 @@ describe('ReltioMap tests', function () {
|
|
|
554
556
|
}
|
|
555
557
|
});
|
|
556
558
|
}); });
|
|
557
|
-
it("shouldn't render TopRightMapControls
|
|
559
|
+
it("shouldn't render TopRightMapControls when polygon drawing is disabled", function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
558
560
|
return __generator(this, function (_a) {
|
|
559
561
|
switch (_a.label) {
|
|
560
562
|
case 0:
|
|
@@ -569,38 +571,213 @@ describe('ReltioMap tests', function () {
|
|
|
569
571
|
}
|
|
570
572
|
});
|
|
571
573
|
}); });
|
|
572
|
-
it('should call props.onOverlayUpdated after polygon completing', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
573
|
-
var onOverlayUpdated, user,
|
|
574
|
+
it('should call props.onOverlayUpdated after polygon completing with correct vertex coordinates', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
575
|
+
var onOverlayUpdated, OriginalPolygon, polygonPathSpy, user, mapMock, mapDiv, clickHandler;
|
|
574
576
|
return __generator(this, function (_a) {
|
|
575
577
|
switch (_a.label) {
|
|
576
578
|
case 0:
|
|
577
579
|
onOverlayUpdated = jest.fn();
|
|
578
|
-
|
|
580
|
+
OriginalPolygon = google.maps.Polygon;
|
|
581
|
+
polygonPathSpy = jest.spyOn(google.maps, 'Polygon').mockImplementation(function (opts) {
|
|
582
|
+
var instance = new OriginalPolygon(opts);
|
|
583
|
+
var raw = opts === null || opts === void 0 ? void 0 : opts.paths;
|
|
584
|
+
var ring = !raw
|
|
585
|
+
? []
|
|
586
|
+
: 'getArray' in raw
|
|
587
|
+
? raw.getArray()
|
|
588
|
+
: raw;
|
|
589
|
+
var mvc = new google.maps.MVCArray();
|
|
590
|
+
mvc.getArray = jest.fn(function () { return ring; });
|
|
591
|
+
instance.getPath = jest.fn(function () { return mvc; });
|
|
592
|
+
return instance;
|
|
593
|
+
});
|
|
594
|
+
user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
|
|
595
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
596
|
+
var m = getLastInstance(jest_mocks_1.Map);
|
|
597
|
+
if (!m) {
|
|
598
|
+
throw new Error('Map not ready');
|
|
599
|
+
}
|
|
600
|
+
return m;
|
|
601
|
+
})];
|
|
602
|
+
case 1:
|
|
603
|
+
mapMock = _a.sent();
|
|
604
|
+
mapDiv = document.createElement('div');
|
|
605
|
+
mapMock.getDiv = jest.fn(function () { return mapDiv; });
|
|
579
606
|
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
607
|
+
case 2:
|
|
608
|
+
_a.sent();
|
|
609
|
+
clickHandler = getEventHandler(mapMock, 'click');
|
|
610
|
+
(0, react_2.act)(function () {
|
|
611
|
+
clickHandler(mapMouseEventWith(1, 2));
|
|
612
|
+
clickHandler(mapMouseEventWith(3, 4));
|
|
613
|
+
clickHandler(mapMouseEventWith(5, 6));
|
|
614
|
+
});
|
|
615
|
+
(0, react_2.act)(function () {
|
|
616
|
+
mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
|
|
617
|
+
});
|
|
618
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
619
|
+
expect(onOverlayUpdated).toHaveBeenCalled();
|
|
620
|
+
})];
|
|
621
|
+
case 3:
|
|
622
|
+
_a.sent();
|
|
623
|
+
expect(onOverlayUpdated.mock.calls[0][0]).toEqual(expect.objectContaining({
|
|
624
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
625
|
+
data: [
|
|
626
|
+
[1, 2],
|
|
627
|
+
[3, 4],
|
|
628
|
+
[5, 6]
|
|
629
|
+
]
|
|
630
|
+
}));
|
|
631
|
+
polygonPathSpy.mockRestore();
|
|
632
|
+
return [2 /*return*/];
|
|
633
|
+
}
|
|
634
|
+
});
|
|
635
|
+
}); });
|
|
636
|
+
it('completes the ring when the first vertex marker is clicked after three map clicks', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
637
|
+
var onOverlayUpdated, OriginalPolygon, polygonPathSpy, user, mapMock, mapDiv, clickHandler, firstVertexMarker;
|
|
638
|
+
return __generator(this, function (_a) {
|
|
639
|
+
switch (_a.label) {
|
|
640
|
+
case 0:
|
|
641
|
+
onOverlayUpdated = jest.fn();
|
|
642
|
+
OriginalPolygon = google.maps.Polygon;
|
|
643
|
+
polygonPathSpy = jest.spyOn(google.maps, 'Polygon').mockImplementation(function (opts) {
|
|
644
|
+
var instance = new OriginalPolygon(opts);
|
|
645
|
+
var raw = opts === null || opts === void 0 ? void 0 : opts.paths;
|
|
646
|
+
var ring = !raw
|
|
647
|
+
? []
|
|
648
|
+
: 'getArray' in raw
|
|
649
|
+
? raw.getArray()
|
|
650
|
+
: raw;
|
|
651
|
+
var mvc = new google.maps.MVCArray();
|
|
652
|
+
mvc.getArray = jest.fn(function () { return ring; });
|
|
653
|
+
instance.getPath = jest.fn(function () { return mvc; });
|
|
654
|
+
return instance;
|
|
655
|
+
});
|
|
656
|
+
user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
|
|
657
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
658
|
+
var m = getLastInstance(jest_mocks_1.Map);
|
|
659
|
+
if (!m) {
|
|
660
|
+
throw new Error('Map not ready');
|
|
661
|
+
}
|
|
662
|
+
return m;
|
|
663
|
+
})];
|
|
580
664
|
case 1:
|
|
665
|
+
mapMock = _a.sent();
|
|
666
|
+
mapDiv = document.createElement('div');
|
|
667
|
+
mapMock.getDiv = jest.fn(function () { return mapDiv; });
|
|
668
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
669
|
+
case 2:
|
|
581
670
|
_a.sent();
|
|
582
|
-
|
|
583
|
-
overlay = {
|
|
584
|
-
setMap: jest.fn(),
|
|
585
|
-
getPath: function () { return ({
|
|
586
|
-
getArray: function () { return [
|
|
587
|
-
{ lat: function () { return 1; }, lng: function () { return 2; } },
|
|
588
|
-
{ lat: function () { return 3; }, lng: function () { return 4; } }
|
|
589
|
-
]; }
|
|
590
|
-
}); }
|
|
591
|
-
};
|
|
671
|
+
clickHandler = getEventHandler(mapMock, 'click');
|
|
592
672
|
(0, react_2.act)(function () {
|
|
593
|
-
|
|
673
|
+
clickHandler(mapMouseEventWith(1, 2));
|
|
674
|
+
clickHandler(mapMouseEventWith(3, 4));
|
|
675
|
+
clickHandler(mapMouseEventWith(5, 6));
|
|
594
676
|
});
|
|
595
|
-
|
|
596
|
-
|
|
677
|
+
firstVertexMarker = getFirstInstance(jest_mocks_1.AdvancedMarkerElement);
|
|
678
|
+
expect(firstVertexMarker).toBeDefined();
|
|
679
|
+
(0, react_2.act)(function () {
|
|
680
|
+
getEventHandler(firstVertexMarker, 'click')(__assign(__assign({}, mapMouseEventWith(0, 0)), { stop: jest.fn() }));
|
|
681
|
+
});
|
|
682
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
683
|
+
expect(onOverlayUpdated).toHaveBeenCalled();
|
|
684
|
+
})];
|
|
685
|
+
case 3:
|
|
686
|
+
_a.sent();
|
|
687
|
+
expect(onOverlayUpdated.mock.calls[0][0]).toEqual(expect.objectContaining({
|
|
688
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
597
689
|
data: [
|
|
598
690
|
[1, 2],
|
|
599
|
-
[3, 4]
|
|
691
|
+
[3, 4],
|
|
692
|
+
[5, 6]
|
|
600
693
|
]
|
|
694
|
+
}));
|
|
695
|
+
polygonPathSpy.mockRestore();
|
|
696
|
+
return [2 /*return*/];
|
|
697
|
+
}
|
|
698
|
+
});
|
|
699
|
+
}); });
|
|
700
|
+
it('clears the in-progress draw on map mouseleave so double-click does not complete a polygon', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
701
|
+
var onOverlayUpdated, user, mapMock, mapDiv, clickHandler;
|
|
702
|
+
return __generator(this, function (_a) {
|
|
703
|
+
switch (_a.label) {
|
|
704
|
+
case 0:
|
|
705
|
+
onOverlayUpdated = jest.fn();
|
|
706
|
+
user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
|
|
707
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
|
|
708
|
+
case 1:
|
|
709
|
+
mapMock = _a.sent();
|
|
710
|
+
mapDiv = document.createElement('div');
|
|
711
|
+
mapMock.getDiv = jest.fn(function () { return mapDiv; });
|
|
712
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
713
|
+
case 2:
|
|
714
|
+
_a.sent();
|
|
715
|
+
clickHandler = getEventHandler(mapMock, 'click');
|
|
716
|
+
(0, react_2.act)(function () {
|
|
717
|
+
clickHandler(mapMouseEventWith(1, 2));
|
|
718
|
+
clickHandler(mapMouseEventWith(3, 4));
|
|
719
|
+
clickHandler(mapMouseEventWith(5, 6));
|
|
601
720
|
});
|
|
602
|
-
|
|
603
|
-
|
|
721
|
+
(0, react_2.act)(function () {
|
|
722
|
+
mapDiv.dispatchEvent(new MouseEvent('mouseleave', { bubbles: true }));
|
|
723
|
+
});
|
|
724
|
+
(0, react_2.act)(function () {
|
|
725
|
+
mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
|
|
726
|
+
});
|
|
727
|
+
expect(onOverlayUpdated).not.toHaveBeenCalled();
|
|
728
|
+
return [2 /*return*/];
|
|
729
|
+
}
|
|
730
|
+
});
|
|
731
|
+
}); });
|
|
732
|
+
it('ignores a second double-click after completion until draw mode is toggled', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
733
|
+
var onOverlayUpdated, OriginalPolygon, polygonPathSpy, user, mapMock, mapDiv, clickHandler;
|
|
734
|
+
return __generator(this, function (_a) {
|
|
735
|
+
switch (_a.label) {
|
|
736
|
+
case 0:
|
|
737
|
+
onOverlayUpdated = jest.fn();
|
|
738
|
+
OriginalPolygon = google.maps.Polygon;
|
|
739
|
+
polygonPathSpy = jest.spyOn(google.maps, 'Polygon').mockImplementation(function (opts) {
|
|
740
|
+
var instance = new OriginalPolygon(opts);
|
|
741
|
+
var raw = opts === null || opts === void 0 ? void 0 : opts.paths;
|
|
742
|
+
var ring = !raw
|
|
743
|
+
? []
|
|
744
|
+
: 'getArray' in raw
|
|
745
|
+
? raw.getArray()
|
|
746
|
+
: raw;
|
|
747
|
+
var mvc = new google.maps.MVCArray();
|
|
748
|
+
mvc.getArray = jest.fn(function () { return ring; });
|
|
749
|
+
instance.getPath = jest.fn(function () { return mvc; });
|
|
750
|
+
return instance;
|
|
751
|
+
});
|
|
752
|
+
user = setUp(__assign(__assign({}, defaultProps), { onOverlayUpdated: onOverlayUpdated, enablePolygonDrawing: true })).user;
|
|
753
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
|
|
754
|
+
case 1:
|
|
755
|
+
mapMock = _a.sent();
|
|
756
|
+
mapDiv = document.createElement('div');
|
|
757
|
+
mapMock.getDiv = jest.fn(function () { return mapDiv; });
|
|
758
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
759
|
+
case 2:
|
|
760
|
+
_a.sent();
|
|
761
|
+
clickHandler = getEventHandler(mapMock, 'click');
|
|
762
|
+
(0, react_2.act)(function () {
|
|
763
|
+
clickHandler(mapMouseEventWith(1, 2));
|
|
764
|
+
clickHandler(mapMouseEventWith(3, 4));
|
|
765
|
+
clickHandler(mapMouseEventWith(5, 6));
|
|
766
|
+
});
|
|
767
|
+
(0, react_2.act)(function () {
|
|
768
|
+
mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
|
|
769
|
+
});
|
|
770
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () {
|
|
771
|
+
expect(onOverlayUpdated).toHaveBeenCalledTimes(1);
|
|
772
|
+
})];
|
|
773
|
+
case 3:
|
|
774
|
+
_a.sent();
|
|
775
|
+
onOverlayUpdated.mockClear();
|
|
776
|
+
(0, react_2.act)(function () {
|
|
777
|
+
mapDiv.dispatchEvent(new MouseEvent('dblclick', { bubbles: true, cancelable: true, composed: true }));
|
|
778
|
+
});
|
|
779
|
+
expect(onOverlayUpdated).not.toHaveBeenCalled();
|
|
780
|
+
polygonPathSpy.mockRestore();
|
|
604
781
|
return [2 /*return*/];
|
|
605
782
|
}
|
|
606
783
|
});
|
|
@@ -612,13 +789,13 @@ describe('ReltioMap tests', function () {
|
|
|
612
789
|
case 0:
|
|
613
790
|
onOverlayUpdated = jest.fn();
|
|
614
791
|
activeOverlay = {
|
|
615
|
-
type: constants_1.
|
|
792
|
+
type: constants_1.POLYGON_DRAWING_MODE,
|
|
616
793
|
path: [
|
|
617
794
|
{ lat: 1, lng: 1 },
|
|
618
795
|
{ lat: 2, lng: 2 }
|
|
619
796
|
]
|
|
620
797
|
};
|
|
621
|
-
user = setUp(__assign(__assign({}, defaultProps), {
|
|
798
|
+
user = setUp(__assign(__assign({}, defaultProps), { enablePolygonDrawing: true, activeOverlay: activeOverlay, onOverlayUpdated: onOverlayUpdated })).user;
|
|
622
799
|
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Clear area'))];
|
|
623
800
|
case 1:
|
|
624
801
|
_a.sent();
|
|
@@ -630,7 +807,7 @@ describe('ReltioMap tests', function () {
|
|
|
630
807
|
});
|
|
631
808
|
describe('"Search when I move the map" behavior', function () {
|
|
632
809
|
it('should call props.onMapBoundsChanged with current map bounds and reset drawingMode on change isSearchOnMapMove(true)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
633
|
-
var onMapBoundsChanged, mapBoundsPolygon, user;
|
|
810
|
+
var onMapBoundsChanged, mapBoundsPolygon, user, mapMock;
|
|
634
811
|
return __generator(this, function (_a) {
|
|
635
812
|
switch (_a.label) {
|
|
636
813
|
case 0:
|
|
@@ -639,39 +816,57 @@ describe('ReltioMap tests', function () {
|
|
|
639
816
|
[1, 2],
|
|
640
817
|
[3, 4]
|
|
641
818
|
];
|
|
642
|
-
user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged,
|
|
819
|
+
user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true })).user;
|
|
643
820
|
jest.spyOn(helpers, 'getMapBoundsPolygon').mockImplementation(function () { return mapBoundsPolygon; });
|
|
644
|
-
return [4 /*yield*/,
|
|
821
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
|
|
645
822
|
case 1:
|
|
823
|
+
mapMock = _a.sent();
|
|
824
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
825
|
+
case 2:
|
|
646
826
|
_a.sent();
|
|
647
|
-
expect(
|
|
827
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
|
|
828
|
+
draggableCursor: usePolygonDrawing_1.MAP_DRAWING_CROSSHAIR_CURSOR
|
|
829
|
+
}));
|
|
830
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
|
|
831
|
+
disableDoubleClickZoom: true,
|
|
832
|
+
clickableIcons: false
|
|
833
|
+
}));
|
|
648
834
|
return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
|
|
649
|
-
case
|
|
835
|
+
case 3:
|
|
650
836
|
_a.sent();
|
|
651
|
-
expect(
|
|
837
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({ disableDoubleClickZoom: false }));
|
|
652
838
|
expect(onMapBoundsChanged).toHaveBeenCalledWith(mapBoundsPolygon);
|
|
653
839
|
return [2 /*return*/];
|
|
654
840
|
}
|
|
655
841
|
});
|
|
656
842
|
}); });
|
|
657
843
|
it('should call props.onMapBoundsChanged with null on change isSearchOnMapMove(false)', function () { return __awaiter(void 0, void 0, void 0, function () {
|
|
658
|
-
var onMapBoundsChanged, user;
|
|
844
|
+
var onMapBoundsChanged, user, mapMock;
|
|
659
845
|
return __generator(this, function (_a) {
|
|
660
846
|
switch (_a.label) {
|
|
661
847
|
case 0:
|
|
662
848
|
onMapBoundsChanged = jest.fn();
|
|
663
|
-
user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged,
|
|
664
|
-
return [4 /*yield*/,
|
|
849
|
+
user = setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true })).user;
|
|
850
|
+
return [4 /*yield*/, (0, react_2.waitFor)(function () { return getLastInstance(jest_mocks_1.Map); })];
|
|
665
851
|
case 1:
|
|
666
|
-
_a.sent();
|
|
667
|
-
|
|
668
|
-
return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
|
|
852
|
+
mapMock = _a.sent();
|
|
853
|
+
return [4 /*yield*/, user.click(react_2.screen.getByLabelText('Draw area'))];
|
|
669
854
|
case 2:
|
|
670
855
|
_a.sent();
|
|
856
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
|
|
857
|
+
draggableCursor: usePolygonDrawing_1.MAP_DRAWING_CROSSHAIR_CURSOR
|
|
858
|
+
}));
|
|
859
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({
|
|
860
|
+
disableDoubleClickZoom: true,
|
|
861
|
+
clickableIcons: false
|
|
862
|
+
}));
|
|
671
863
|
return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
|
|
672
864
|
case 3:
|
|
673
865
|
_a.sent();
|
|
674
|
-
|
|
866
|
+
return [4 /*yield*/, user.click(react_2.screen.getByText('Search as I move the map'))];
|
|
867
|
+
case 4:
|
|
868
|
+
_a.sent();
|
|
869
|
+
expect(mapMock.setOptions).toHaveBeenCalledWith(expect.objectContaining({ disableDoubleClickZoom: false }));
|
|
675
870
|
expect(onMapBoundsChanged).toHaveBeenCalledWith(null);
|
|
676
871
|
return [2 /*return*/];
|
|
677
872
|
}
|
|
@@ -684,7 +879,7 @@ describe('ReltioMap tests', function () {
|
|
|
684
879
|
[1, 2],
|
|
685
880
|
[3, 4]
|
|
686
881
|
];
|
|
687
|
-
setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged,
|
|
882
|
+
setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true, isSearchOnMapMove: true }));
|
|
688
883
|
jest.spyOn(helpers, 'getMapBoundsPolygon').mockImplementation(function () { return mapBoundsPolygon; });
|
|
689
884
|
expect(react_2.screen.getByLabelText('Search as I move the map').checked).toBe(true);
|
|
690
885
|
expect(onMapBoundsChanged).not.toHaveBeenCalled();
|
|
@@ -701,7 +896,7 @@ describe('ReltioMap tests', function () {
|
|
|
701
896
|
[1, 2],
|
|
702
897
|
[3, 4]
|
|
703
898
|
];
|
|
704
|
-
setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged,
|
|
899
|
+
setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true, isSearchOnMapMove: true }));
|
|
705
900
|
jest.spyOn(helpers, 'getMapBoundsPolygon').mockImplementation(function () { return mapBoundsPolygon; });
|
|
706
901
|
expect(react_2.screen.getByLabelText('Search as I move the map').checked).toBe(true);
|
|
707
902
|
var mapMock = getLastInstance(jest_mocks_1.Map);
|
|
@@ -719,7 +914,7 @@ describe('ReltioMap tests', function () {
|
|
|
719
914
|
it('should not call props.onMapBoundsChanged on google map idle if "Search when I move the map" mode is off', function () {
|
|
720
915
|
jest.useFakeTimers();
|
|
721
916
|
var onMapBoundsChanged = jest.fn();
|
|
722
|
-
setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged,
|
|
917
|
+
setUp(__assign(__assign({}, defaultProps), { onMapBoundsChanged: onMapBoundsChanged, enablePolygonDrawing: true, isSearchOnMapMove: false }));
|
|
723
918
|
expect(react_2.screen.getByLabelText('Search as I move the map').checked).toBe(false);
|
|
724
919
|
getEventHandler(getLastInstance(jest_mocks_1.Map), 'idle')();
|
|
725
920
|
jest.runOnlyPendingTimers();
|