|
| 1 | +import mapboxgl from 'mapbox-gl'; |
1 | 2 | import { FeatureService } from '../../../src/mapboxgl/services/FeatureService';
|
2 | 3 | import { GetFeaturesByBufferParameters } from '../../../src/common/iServer/GetFeaturesByBufferParameters';
|
3 | 4 | import { FetchRequest } from '../../../src/common/util/FetchRequest';
|
@@ -135,4 +136,66 @@ describe('mapboxgl_FeatureService_getFeaturesByBuffer', () => {
|
135 | 136 | done();
|
136 | 137 | });
|
137 | 138 | });
|
| 139 | + it('getFeaturesByBuffer_geometry_mapboxglPoint', done => { |
| 140 | + var queryBufferGeometry = new mapboxgl.Point(-77, 38); |
| 141 | + var bufferParam = new GetFeaturesByBufferParameters({ |
| 142 | + datasetNames: ['World:Capitals'], |
| 143 | + bufferDistance: 10, |
| 144 | + geometry: queryBufferGeometry, |
| 145 | + fromIndex: 1, |
| 146 | + toIndex: 3 |
| 147 | + }); |
| 148 | + var service = new FeatureService(url); |
| 149 | + spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => { |
| 150 | + expect(method).toBe('POST'); |
| 151 | + expect(testUrl).toBe(url + '/featureResults?returnContent=true&fromIndex=1&toIndex=3'); |
| 152 | + var paramsObj = JSON.parse(params.replace(/'/g, '"')); |
| 153 | + expect(paramsObj.geometry).not.toBeFalsy(); |
| 154 | + expect(paramsObj.geometry.points.length).toBe(1); |
| 155 | + expect(paramsObj.geometry.points[0].x).toBe(-77) |
| 156 | + expect(paramsObj.geometry.points[0].y).toBe(38) |
| 157 | + return Promise.resolve(new Response(JSON.stringify(getFeaturesResultJson))); |
| 158 | + }); |
| 159 | + service.getFeaturesByBuffer(bufferParam, testResult => { |
| 160 | + serviceResult = testResult; |
| 161 | + var result = serviceResult.result; |
| 162 | + expect(result.succeed).toBe(true); |
| 163 | + expect(result.featureCount).toEqual(1); |
| 164 | + expect(result.totalCount).toEqual(1); |
| 165 | + expect(serviceResult.result.features.type).toEqual('FeatureCollection'); |
| 166 | + bufferParam.destroy(); |
| 167 | + done(); |
| 168 | + }); |
| 169 | + }); |
| 170 | + it('getFeaturesByBuffer_geometry_mapboxglLatlng', done => { |
| 171 | + var queryBufferGeometry = new mapboxgl.LngLat(-77, 38); |
| 172 | + var bufferParam = new GetFeaturesByBufferParameters({ |
| 173 | + datasetNames: ['World:Capitals'], |
| 174 | + bufferDistance: 10, |
| 175 | + geometry: queryBufferGeometry, |
| 176 | + fromIndex: 1, |
| 177 | + toIndex: 3 |
| 178 | + }); |
| 179 | + var service = new FeatureService(url); |
| 180 | + spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => { |
| 181 | + expect(method).toBe('POST'); |
| 182 | + expect(testUrl).toBe(url + '/featureResults?returnContent=true&fromIndex=1&toIndex=3'); |
| 183 | + var paramsObj = JSON.parse(params.replace(/'/g, '"')); |
| 184 | + expect(paramsObj.geometry).not.toBeFalsy(); |
| 185 | + expect(paramsObj.geometry.points.length).toBe(1); |
| 186 | + expect(paramsObj.geometry.points[0].x).toBe(-77); |
| 187 | + expect(paramsObj.geometry.points[0].y).toBe(38); |
| 188 | + return Promise.resolve(new Response(JSON.stringify(getFeaturesResultJson))); |
| 189 | + }); |
| 190 | + service.getFeaturesByBuffer(bufferParam, testResult => { |
| 191 | + serviceResult = testResult; |
| 192 | + var result = serviceResult.result; |
| 193 | + expect(result.succeed).toBe(true); |
| 194 | + expect(result.featureCount).toEqual(1); |
| 195 | + expect(result.totalCount).toEqual(1); |
| 196 | + expect(serviceResult.result.features.type).toEqual('FeatureCollection'); |
| 197 | + bufferParam.destroy(); |
| 198 | + done(); |
| 199 | + }); |
| 200 | + }); |
138 | 201 | });
|
0 commit comments