@@ -34,14 +34,10 @@ describe('L7LayerUtil', () => {
34
34
options
35
35
} ;
36
36
37
- beforeAll ( ( ) => {
38
- spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url ) => {
39
- if ( url . indexOf ( 'map.json' ) > - 1 ) {
40
- return Promise . resolve ( new Response ( mapstudioWebMap_L7Layers ) ) ;
41
- }
42
- if ( url . indexOf ( '617580084.json' ) > - 1 ) {
43
- return Promise . resolve ( new Response ( msProjectINfo_L7Layers ) ) ;
44
- }
37
+ it ( 'add od layer' , ( done ) => {
38
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url , _ , options ) => {
39
+ expect ( options . withCredentials ) . toBe ( options . withCredentials ) ;
40
+ expect ( options . withoutFormatSuffix ) . toBeTruthy ( ) ;
45
41
if ( url . indexOf ( '/sprite' ) > - 1 ) {
46
42
return Promise . resolve ( new Response ( msSpriteInfo ) ) ;
47
43
}
@@ -54,37 +50,9 @@ describe('L7LayerUtil', () => {
54
50
if ( url . indexOf ( '/web/datas/1554834293/structureddata.json' ) > - 1 ) {
55
51
return Promise . resolve ( new Response ( l7StructureData1052943054 ) ) ;
56
52
}
57
- if ( url . indexOf ( '/web/datas/1767084124/structureddata/ogc-features/collections/all/items.json' ) > - 1 ) {
58
- return Promise . resolve ( new Response ( l7StructureData1767084124Items ) ) ;
59
- }
60
- if ( url . indexOf ( '/web/datas/1767084124/structureddata.json' ) > - 1 ) {
61
- return Promise . resolve ( new Response ( l7StructureData1767084124 ) ) ;
62
- }
63
- if (
64
- url . indexOf ( 'iserver/services/data-Building/rest/data/datasources/newBuilding/datasets/New_LINE/fields.json' ) >
65
- - 1
66
- ) {
67
- return Promise . resolve ( new Response ( RESTDATA_FIELDS_RES ) ) ;
68
- }
69
- if (
70
- url . indexOf ( 'iserver/services/data-Building/rest/data/datasources/newBuilding/datasets/New_LINE/domain.json' ) >
71
- - 1
72
- ) {
73
- return Promise . resolve ( new Response ( RESTDATA_DOMAINS_RES ) ) ;
74
- }
75
53
console . log ( url ) ;
76
54
return Promise . resolve ( ) ;
77
55
} ) ;
78
- spyOn ( FetchRequest , 'post' ) . and . callFake ( ( url ) => {
79
- if ( url . indexOf ( '/iserver/services/data-Building/rest/data/featureResults.geojson' ) > - 1 ) {
80
- return Promise . resolve ( new Response ( RESTDATA_FEATURES_RES ) ) ;
81
- }
82
- console . log ( url ) ;
83
- return Promise . resolve ( ) ;
84
- } ) ;
85
- } ) ;
86
-
87
- it ( 'add od layer' , ( done ) => {
88
56
const layers = [
89
57
{
90
58
layout : {
@@ -172,6 +140,27 @@ describe('L7LayerUtil', () => {
172
140
} ) ;
173
141
174
142
it ( 'animate line layer' , ( done ) => {
143
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url , _ , options ) => {
144
+ expect ( options . withCredentials ) . toBeUndefined ( ) ;
145
+ expect ( options . withoutFormatSuffix ) . toBeTruthy ( ) ;
146
+ if ( url . indexOf ( '/data-Building/rest/data/datasources/newBuilding/datasets/New_LINE/fields.json' ) > - 1 ) {
147
+ return Promise . resolve ( new Response ( RESTDATA_FIELDS_RES ) ) ;
148
+ }
149
+ if ( url . indexOf ( '/data-Building/rest/data/datasources/newBuilding/datasets/New_LINE/domain.json' ) > - 1 ) {
150
+ return Promise . resolve ( new Response ( RESTDATA_DOMAINS_RES ) ) ;
151
+ }
152
+ console . log ( url ) ;
153
+ return Promise . resolve ( ) ;
154
+ } ) ;
155
+ spyOn ( FetchRequest , 'post' ) . and . callFake ( ( url , _ , options ) => {
156
+ expect ( options . withCredentials ) . toBeUndefined ( ) ;
157
+ expect ( options . withoutFormatSuffix ) . toBeTruthy ( ) ;
158
+ if ( url . indexOf ( '/data-Building/rest/data/featureResults.geojson' ) > - 1 ) {
159
+ return Promise . resolve ( new Response ( RESTDATA_FEATURES_RES ) ) ;
160
+ }
161
+ console . log ( url ) ;
162
+ return Promise . resolve ( ) ;
163
+ } ) ;
175
164
const layers = [
176
165
{
177
166
layout : {
@@ -204,8 +193,8 @@ describe('L7LayerUtil', () => {
204
193
ms_New_LINE_ms_datasetId_1716864444834_6_1716864449917_10 : {
205
194
data : {
206
195
credential : {
207
- " key" : " token" ,
208
- " value" : " kF0ZmjLFg-P56UQdHVIkl1tDDnUTsuy5ayBcAHrmdmM6BmLMLHNvk7aul83z2twM8m5rtD3ExQguW0jlThhWkEoWr27Dzw.."
196
+ key : ' token' ,
197
+ value : ' kF0ZmjLFg-P56UQdHVIkl1tDDnUTsuy5ayBcAHrmdmM6BmLMLHNvk7aul83z2twM8m5rtD3ExQguW0jlThhWkEoWr27Dzw..'
209
198
} ,
210
199
datasetName : 'New_LINE' ,
211
200
type : 'supermap-rest-data' ,
@@ -227,4 +216,90 @@ describe('L7LayerUtil', () => {
227
216
done ( ) ;
228
217
} ) ;
229
218
} ) ;
219
+
220
+ it ( 'servcie proxy' , ( done ) => {
221
+ spyOn ( FetchRequest , 'get' ) . and . callFake ( ( url , _ , options ) => {
222
+ expect ( options . withCredentials ) . toBeTruthy ( ) ;
223
+ expect ( options . withoutFormatSuffix ) . toBeTruthy ( ) ;
224
+ if ( url . indexOf ( '/data-ZhongGuoDiTu/rest/data/datasources/中国矢量数据/datasets/飞机场/fields.json' ) > - 1 ) {
225
+ return Promise . resolve ( new Response ( RESTDATA_FIELDS_RES ) ) ;
226
+ }
227
+ if ( url . indexOf ( '/data-ZhongGuoDiTu/rest/data/datasources/中国矢量数据/datasets/飞机场/domain.json' ) > - 1 ) {
228
+ return Promise . resolve ( new Response ( JSON . stringify ( [ ] ) ) ) ;
229
+ }
230
+ console . log ( url ) ;
231
+ return Promise . resolve ( ) ;
232
+ } ) ;
233
+ spyOn ( FetchRequest , 'post' ) . and . callFake ( ( url ) => {
234
+ if ( url . indexOf ( '/data-ZhongGuoDiTu/rest/data/featureResults.geojson' ) > - 1 ) {
235
+ return Promise . resolve ( new Response ( RESTDATA_FEATURES_RES ) ) ;
236
+ }
237
+ return Promise . resolve ( ) ;
238
+ } ) ;
239
+ const layers = [
240
+ {
241
+ layout : {
242
+ visibility : 'visible'
243
+ } ,
244
+ metadata : {
245
+ MapStudio : {
246
+ title : '飞机场'
247
+ }
248
+ } ,
249
+ paint : {
250
+ 'heatmap-extrusion-intensity' : 2 ,
251
+ 'heatmap-extrusion-radius' : 10 ,
252
+ 'heatmap-extrusion-opacity' : 1 ,
253
+ 'heatmap-extrusion-weight' : 'SmID' ,
254
+ 'heatmap-extrusion-color' : [
255
+ 'interpolate' ,
256
+ [ 'linear' ] ,
257
+ [ 'heatmap-density' ] ,
258
+ 0 ,
259
+ 'rgba(0,0,0,0)' ,
260
+ 0.2 ,
261
+ '#0000ff' ,
262
+ 0.4 ,
263
+ '#00ffff' ,
264
+ 0.6000000000000001 ,
265
+ '#00ff00' ,
266
+ 0.8 ,
267
+ '#ffff00' ,
268
+ 1 ,
269
+ '#ff0000'
270
+ ]
271
+ } ,
272
+ source : 'ms_飞机场_ms_datasetId_1716979413748_4_1716979443420_8' ,
273
+ id : 'ms_飞机场_1716979443420_7' ,
274
+ type : 'heatmap-extrusion'
275
+ }
276
+ ] ;
277
+ const sources = {
278
+ ms_飞机场_ms_datasetId_1716979413748_4_1716979443420_8 : {
279
+ data : {
280
+ datasetName : '飞机场' ,
281
+ type : 'supermap-rest-data' ,
282
+ url : 'http://localhost:8195/portalproxy/761c40c7268f75a5/iserver/services/data-ZhongGuoDiTu/rest/data/featureResults.geojson?returnContent=true&fromIndex=0&maxFeatures=2147483647' ,
283
+ dataSourceName : '中国矢量数据'
284
+ } ,
285
+ type : 'geojson'
286
+ }
287
+ } ;
288
+ const nextOptions = {
289
+ ...addOptions ,
290
+ webMapInfo : { ...mapstudioWebMap_L7LayersRes , layers, sources } ,
291
+ l7Layers : layers ,
292
+ options : {
293
+ withCredentials : false ,
294
+ server : '/iportal/' ,
295
+ iportalServiceProxyUrl : 'http://localhost:8195/portalproxy'
296
+ }
297
+ } ;
298
+ const spy = spyOn ( nextOptions . map , 'addLayer' ) . and . callThrough ( ) ;
299
+ addL7Layers ( nextOptions ) . then ( ( ) => {
300
+ expect ( nextOptions . map . addLayer . calls . count ( ) ) . toEqual ( 1 ) ;
301
+ spy . calls . reset ( ) ;
302
+ done ( ) ;
303
+ } ) ;
304
+ } ) ;
230
305
} ) ;
0 commit comments