UNPKG

geospatialdraw

Version:
111 lines 4.35 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var chai_1 = require("chai"); var ol_1 = require("ol"); var geom_1 = require("ol/geom"); var mock_drawing_context_1 = require("./test/mock-drawing-context"); var point_drawing_control_1 = require("./point-drawing-control"); describe('PointDrawingControl', function () { var makeFeature = function () { return new ol_1.Feature({ geometry: new geom_1.Point([50, 50]), color: '#996600', shape: 'Point', id: '', buffer: 0, bufferUnit: 'meters', }); }; var makeGeoJSON = function () { return ({ type: 'Feature', properties: { color: '#996600', shape: 'Point', id: '', buffer: 0, bufferUnit: 'meters', }, geometry: { type: 'Point', coordinates: [50, 50], }, bbox: [50, 50, 50, 50], }); }; var context = new mock_drawing_context_1.default(); var recievedGeo = null; var receiver = function (geoJSON) { recievedGeo = geoJSON; }; var control = new point_drawing_control_1.default(context, receiver); beforeEach(function () { recievedGeo = null; context = new mock_drawing_context_1.default(); control = new point_drawing_control_1.default(context, receiver); }); describe('constructor', function () { it('default', function () { (0, chai_1.expect)(control).to.not.equal(undefined); (0, chai_1.expect)(control).to.not.equal(null); }); }); describe('onCompleteDrawing', function () { it('default', function () { control.onCompleteDrawing({ feature: makeFeature(), }); var expected = makeGeoJSON(); (0, chai_1.expect)(recievedGeo).to.deep.equal(expected); (0, chai_1.expect)(context.getMethodCalls().updateFeature.length).to.equal(1); }); it('startDrawing -> onCompleteDrawing', function () { control.startDrawing(); // @ts-ignore control.setGeo(makeGeoJSON()); control.onCompleteDrawing({ feature: makeFeature(), }); var expected = makeGeoJSON(); (0, chai_1.expect)(recievedGeo).to.deep.equal(expected); }); }); describe('onCompleteModify', function () { it('default', function () { control.onCompleteModify({ features: { getArray: function () { return [makeFeature()]; }, }, }); var expected = makeGeoJSON(); (0, chai_1.expect)(recievedGeo).to.deep.equal(expected); }); }); describe('setGeo', function () { it('default', function () { // @ts-ignore control.setGeo(makeGeoJSON()); (0, chai_1.expect)(context.getMethodCalls().updateFeature.length).to.equal(1); (0, chai_1.expect)(context.getMethodCalls().removeFeature.length).to.equal(0); (0, chai_1.expect)(control.isDrawing()).to.equal(true); }); }); describe('startDrawing', function () { it('default', function () { control.startDrawing(); (0, chai_1.expect)(context.getMethodCalls().addInteractions.length).to.equal(1); (0, chai_1.expect)(context.getMethodCalls().setEvent.length).to.equal(4); (0, chai_1.expect)(context.getMethodCalls().setDrawInteraction.length).to.equal(1); (0, chai_1.expect)(context.getMethodCalls().updateFeature.length).to.equal(0); (0, chai_1.expect)(context.getMethodCalls().removeFeature.length).to.equal(1); (0, chai_1.expect)(control.isDrawing()).to.equal(true); }); }); describe('cancelDrawing', function () { it('default', function () { control.cancelDrawing(); (0, chai_1.expect)(context.getMethodCalls().removeListeners.length).to.equal(1); (0, chai_1.expect)(context.getMethodCalls().removeInteractions.length).to.equal(1); (0, chai_1.expect)(control.isDrawing()).to.equal(false); }); }); }); //# sourceMappingURL=point-drawing-control.spec.js.map