Skip to content

Commit b22e955

Browse files
committed
【update】修复webmap的测试 (reviewed by songym)
1 parent 987ab94 commit b22e955

File tree

3 files changed

+81
-66
lines changed

3 files changed

+81
-66
lines changed

test/openlayers/mapping/WebMapSpec.js

Lines changed: 75 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ import '../../resources/WebMapV5.js';
99
import {
1010
ArrayStatistic
1111
} from "../../../src/common/util/ArrayStatistic";
12+
import {
13+
Util
14+
} from '../../../src/openlayers/core/Util';
1215

1316
describe('openlayers_WebMap', () => {
1417
var originalTimeout, testDiv, webMap;
@@ -56,6 +59,7 @@ describe('openlayers_WebMap', () => {
5659
done();
5760
}, 1000)
5861
});
62+
5963
it('initialize_TIANDITU_IMAGE', (done) => {
6064
spyOn(FetchRequest, 'get').and.callFake((url) => {
6165
if (url.indexOf('map.json')>-1) {
@@ -413,7 +417,7 @@ describe('openlayers_WebMap', () => {
413417
if (url.indexOf('map.json')>-1) {
414418
var mapJson = datavizWebMap_SVG;
415419
return Promise.resolve(new Response(mapJson));
416-
} else if (url === `${rootUrl}web/datas/675746998/content.json?pageSize=9999999&currentPage=1`) {
420+
} else if (url === `${rootUrl}web/datas/1782454383/content.json?pageSize=9999999&currentPage=1`) {
417421
return Promise.resolve(new Response(geojsonData));
418422
}
419423
return Promise.resolve();
@@ -427,11 +431,11 @@ describe('openlayers_WebMap', () => {
427431
expect(datavizWebmap.credentialKey).toBeUndefined();
428432
expect(datavizWebmap.credentialValue).toBeUndefined();
429433

430-
expect(datavizWebmap.mapParams.title).toBe('Image');
434+
expect(datavizWebmap.mapParams.title).toBe("无标题");
431435
expect(datavizWebmap.mapParams.description).toBe('');
432436
expect(options.successCallback).toHaveBeenCalled();
433437
expect(datavizWebmap.map.getLayers().getArray()[0].getProperties().name).toBe('高德地图');
434-
expect(datavizWebmap.map.getLayers().getArray()[1].getProperties().name).toBe('浙江省高等院校(3)');
438+
expect(datavizWebmap.map.getLayers().getArray()[1].getProperties().name).toBe('浙江省高等院校(1)');
435439
done();
436440
}, 1000)
437441
});
@@ -592,6 +596,8 @@ describe('openlayers_WebMap', () => {
592596
if (url.indexOf('map.json')>-1) {
593597
var mapJson = datavizWebMap_RestMap;
594598
return Promise.resolve(new Response(mapJson));
599+
} else {
600+
return Promise.resolve(new Response(jinJingMap))
595601
}
596602
return Promise.resolve();
597603
});
@@ -616,8 +622,7 @@ describe('openlayers_WebMap', () => {
616622
done();
617623
}, 1000)
618624
});
619-
620-
625+
621626
it('createThemeLayer_SUPERMAPREST_DATA', (done) => {
622627
let options = {
623628
server: server,
@@ -628,16 +633,11 @@ describe('openlayers_WebMap', () => {
628633
if (url.indexOf('map.json')>-1) {
629634
var mapJson = datavizWebMap_RestData;
630635
return Promise.resolve(new Response(mapJson));
631-
} else if (url === 'http://support.supermap.com:8090/iserver/services/data-jingjin/rest/data/featureResults.json?returnContent=true&fromIndex=0&toIndex=100000') {
632-
return Promise.resolve(new Response(supermapData));
633636
}
634637
return Promise.resolve();
635638
});
636639
spyOn(FetchRequest, 'post').and.callFake((url) => {
637-
if (url === 'http://192.168.12.27:8091/iserver/services/data-jingjin/rest/data/featureResults.json?returnContent=true&fromIndex=0&toIndex=100000') {
638-
return Promise.resolve(new Response(supermapData));
639-
}
640-
return Promise.resolve();
640+
return Promise.resolve(new Response(supermapData));
641641
});
642642
spyOn(options, 'successCallback');
643643
var datavizWebmap = new WebMap(id, options);
@@ -658,6 +658,8 @@ describe('openlayers_WebMap', () => {
658658
expect(datavizWebmap.map.getLayers().getArray()[1].getProperties().name).toBe('Jingjin:BaseMap_P');
659659
expect(datavizWebmap.map.getLayers().getArray().length).toBe(2);
660660
done();
661+
datavizWebmap.map = null;
662+
datavizWebmap = null;
661663
}, 1000)
662664
});
663665

@@ -668,10 +670,14 @@ describe('openlayers_WebMap', () => {
668670
successCallback: function () {},
669671
errorCallback: function () {}
670672
};
673+
let wmtsData ='<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://support.supermap.com:8090/iserver/services/map-world/wmts100/wmts,1.0,wmtsGetCapabilities_response.xsd"><<ows:OperationsMetadata><<ows:Operation name="GetCapabilities"></ows:Operation></ows:OperationsMetadata></Capabilities>';
674+
671675
spyOn(FetchRequest, 'get').and.callFake((url) => {
672676
if (url.indexOf('map.json')>-1) {
673677
var mapJson = datavizWebMap_WMS;
674678
return Promise.resolve(new Response(mapJson));
679+
} else if(url === "http://support.supermap.com:8090/iserver/services/map-world/wms130/World?MAP=World&&SERVICE=WMS&REQUEST=GetCapabilities") {
680+
return Promise.resolve(new Response(wmtsData));
675681
}
676682
return Promise.resolve();
677683
});
@@ -697,11 +703,13 @@ describe('openlayers_WebMap', () => {
697703
}, 1000)
698704
});
699705

700-
/*it('WMTS', (done) => {
706+
/* it('WMTS', (done) => {
701707
//第二次请求wmts参数值太大
702708
let options = {
703-
callback: function () {},
704-
errorCallback: function () {}
709+
target:'map',
710+
server: server,
711+
errorCallback: function () {},
712+
callback: function () {}
705713
};
706714
let wmtsData ='<Capabilities xmlns="http://www.opengis.net/wmts/1.0" xmlns:gml="http://www.opengis.net/gml" xmlns:ows="http://www.opengis.net/ows/1.1" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0" xsi:schemaLocation="http://www.opengis.net/wmts/1.0 http://support.supermap.com:8090/iserver/services/map-world/wmts100/wmts,1.0,wmtsGetCapabilities_response.xsd"><<ows:OperationsMetadata><<ows:Operation name="GetCapabilities"></ows:Operation></ows:OperationsMetadata></Capabilities>';
707715
@@ -715,7 +723,7 @@ describe('openlayers_WebMap', () => {
715723
return Promise.resolve();
716724
});
717725
spyOn(options, 'callback');
718-
var datavizWebmap = new WebMap('map', server, options);
726+
var datavizWebmap = new WebMap(id, options);
719727
720728
setTimeout(() => {
721729
expect(datavizWebmap.server).toBe(server);
@@ -747,6 +755,7 @@ describe('openlayers_WebMap', () => {
747755
});
748756
var datavizWebmap = new WebMap(id, {});
749757
var layerInfo = JSON.parse(wmtsInfo);
758+
datavizWebmap.baseProjection = "EPSG:4326";
750759
datavizWebmap.createWMTSSource(layerInfo);
751760

752761
setTimeout(() => {
@@ -766,6 +775,7 @@ describe('openlayers_WebMap', () => {
766775
});
767776
var datavizWebmap = new WebMap(id, {});
768777
var layerInfo = JSON.parse(wmtsInfo1);
778+
datavizWebmap.baseProjection = "EPSG:4326";
769779
datavizWebmap.createWMTSSource(layerInfo);
770780

771781
setTimeout(() => {
@@ -774,51 +784,52 @@ describe('openlayers_WebMap', () => {
774784
}, 1000)
775785
});
776786

777-
it('setColorToCanvas', (done) => {
778-
spyOn(FetchRequest, 'get').and.callFake((url) => {
779-
if (url.indexOf('map.json')>-1) {
780-
var mapJson = datavizWebMap_WMTS;
781-
return Promise.resolve(new Response(mapJson));
782-
}
783-
return Promise.resolve();
784-
});
785-
var datavizWebmap = new WebMap(id, {});
786-
var canvas = document.createElement('canvas');
787-
var params = {
788-
fillColor: '#0083cb',
789-
fillOpacity: '1',
790-
strokeColor: '#56b781',
791-
strokeOpacity: '0.2',
792-
strokeWidth: '6'
793-
};
794-
setTimeout(() => {
795-
expect(datavizWebmap.setColorToCanvas(canvas, params)).toBeDefined();
796-
done();
797-
}, 1000)
798-
});
799-
800-
it('getSymbolStyle', (done) => {
801-
spyOn(FetchRequest, 'get').and.callFake((url) => {
802-
if (url.indexOf('map.json')>-1) {
803-
var mapJson = datavizWebMap_WMTS;
804-
return Promise.resolve(new Response(mapJson));
805-
}
806-
return Promise.resolve();
807-
});
808-
var datavizWebmap = new WebMap(id, {});
809-
var params = {
810-
unicode: "&#xe694",
811-
fillColor: '#ffffff',
812-
fillOpacity: '1',
813-
strokeColor: '#56b781',
814-
strokeOpacity: '0.2',
815-
strokeWidth: '6'
816-
};
817-
setTimeout(() => {
818-
expect(datavizWebmap.getSymbolStyle(params)).toBeDefined();
819-
done();
820-
}, 1000)
821-
});
787+
// 被写在styleUtils
788+
// it('setColorToCanvas', (done) => {
789+
// spyOn(FetchRequest, 'get').and.callFake((url) => {
790+
// if (url.indexOf('map.json')>-1) {
791+
// var mapJson = datavizWebMap_WMTS;
792+
// return Promise.resolve(new Response(mapJson));
793+
// }
794+
// return Promise.resolve();
795+
// });
796+
// var datavizWebmap = new WebMap(id, {});
797+
// var canvas = document.createElement('canvas');
798+
// var params = {
799+
// fillColor: '#0083cb',
800+
// fillOpacity: '1',
801+
// strokeColor: '#56b781',
802+
// strokeOpacity: '0.2',
803+
// strokeWidth: '6'
804+
// };
805+
// setTimeout(() => {
806+
// expect(datavizWebmap.setColorToCanvas(canvas, params)).toBeDefined();
807+
// done();
808+
// }, 1000)
809+
// });
810+
811+
// it('getSymbolStyle', (done) => {
812+
// spyOn(FetchRequest, 'get').and.callFake((url) => {
813+
// if (url.indexOf('map.json')>-1) {
814+
// var mapJson = datavizWebMap_WMTS;
815+
// return Promise.resolve(new Response(mapJson));
816+
// }
817+
// return Promise.resolve();
818+
// });
819+
// var datavizWebmap = new WebMap(id, {});
820+
// var params = {
821+
// unicode: "&#xe694",
822+
// fillColor: '#ffffff',
823+
// fillOpacity: '1',
824+
// strokeColor: '#56b781',
825+
// strokeOpacity: '0.2',
826+
// strokeWidth: '6'
827+
// };
828+
// setTimeout(() => {
829+
// expect(datavizWebmap.getSymbolStyle(params)).toBeDefined();
830+
// done();
831+
// }, 1000)
832+
// });
822833

823834
it('changeWeight', (done) => {
824835
spyOn(FetchRequest, 'get').and.callFake((url) => {
@@ -850,6 +861,8 @@ describe('openlayers_WebMap', () => {
850861
if (url.indexOf('map.json')>-1) {
851862
var mapJson = datavizWebMap_WMTS;
852863
return Promise.resolve(new Response(mapJson));
864+
} else if(url === "http://support.supermap.com:8090/iserver/services/maps/wmts100?") {
865+
return Promise.resolve(new Response(wmtsInfo2));
853866
}
854867
return Promise.resolve();
855868
});
@@ -863,9 +876,9 @@ describe('openlayers_WebMap', () => {
863876
projection: 'EPSG:3857'
864877
}
865878
};
866-
spyOn(datavizWebmap, "createWMTSSource");
879+
spyOn(datavizWebmap, "getWmtsInfo");
867880
datavizWebmap.createBaseLayer(mapInfo);
868-
expect(datavizWebmap.createWMTSSource).toHaveBeenCalled();
881+
expect(datavizWebmap.getWmtsInfo).toHaveBeenCalled();
869882
done();
870883
}, 1000)
871884
});

0 commit comments

Comments
 (0)