|
| 1 | +import {tiledMapLayer} from "../../../../src/leaflet/mapping"; |
| 2 | +import { distributedAnalysisView } from '../../../../src/leaflet/widgets/distributedanalysis/DistributedAnalysisView'; |
| 3 | +import {FetchRequest} from "../../../../src/common/util/FetchRequest.js"; |
| 4 | +var map, url = GlobeParameter.WorldURL, testDiv, distributedAnalysis; |
| 5 | +var distributedAnalysisURL = GlobeParameter.distributedAnalysisURL; |
| 6 | +describe('leaflet_DataServiceQuery_DataServiceQueryView', () => { |
| 7 | + var serviceResult; |
| 8 | + var originalTimeout; |
| 9 | + beforeAll(() => { |
| 10 | + testDiv = document.createElement("div"); |
| 11 | + testDiv.id = 'map'; |
| 12 | + testDiv.style.margin = "0 auto"; |
| 13 | + testDiv.style.width = "800px"; |
| 14 | + testDiv.style.height = "800px"; |
| 15 | + document.body.appendChild(testDiv); |
| 16 | + map = L.map('map', { |
| 17 | + preferCanvas: true, |
| 18 | + crs: L.CRS.EPSG4326, |
| 19 | + center: [20, 80], |
| 20 | + maxZoom: 18, |
| 21 | + zoom: 2 |
| 22 | + }); |
| 23 | + // tiledMapLayer(url).addTo(map); |
| 24 | + // 初始化微件 |
| 25 | + distributedAnalysis = distributedAnalysisView(distributedAnalysisURL); |
| 26 | + // 模拟发送请求 |
| 27 | + spyOn(FetchRequest, 'get').and.callFake((url) => { |
| 28 | + if(url.indexOf("/sharefile")>-1) { |
| 29 | + var resultJson1 = `{"datasetCount":8,"datasetNames":["samples_processing_newyorkZone_R","samples_processing_singleRegion_R","samples_processing_newyorkRoads_L","samples_processing_newyorkPoint_P","samples_processing_newyorkResidential_R", "samples_processing_featurejoin_states_R", "samples_processing_reconstructTracks_P", "samples_newyork_taxi_2013-01_14k"], |
| 30 | + "childUriList":["http://54.223.164.155:8090/iserver/services/dataca…atalog/sharefile/samples_processing_newyorkZone_R", "http://54.223.164.155:8090/iserver/services/dataca…talog/sharefile/samples_processing_singleRegion_R", "http://54.223.164.155:8090/iserver/services/dataca…talog/sharefile/samples_processing_newyorkRoads_L", "http://54.223.164.155:8090/iserver/services/dataca…talog/sharefile/samples_processing_newyorkPoint_P", "http://54.223.164.155:8090/iserver/services/dataca…sharefile/samples_processing_newyorkResidential_R", "http://54.223.164.155:8090/iserver/services/dataca…sharefile/samples_processing_featurejoin_states_R", "http://54.223.164.155:8090/iserver/services/dataca…/sharefile/samples_processing_reconstructTracks_P", "http://54.223.164.155:8090/iserver/services/dataca…atalog/sharefile/samples_newyork_taxi_2013-01_14k"]}` |
| 31 | + return Promise.resolve(new Response(resultJson1)); |
| 32 | + }else if(url.indexOf("/datasets.json")>-1) { |
| 33 | + var resultJson2 = `{"datasetCount":0,"datasetNames":[],"childUriList":[]}`; |
| 34 | + return Promise.resolve(new Response(resultJson2)); |
| 35 | + }else if(url.indexOf("/samples_processing_newyorkRoads_L")>-1) { |
| 36 | + var dataJson=`{"childUriList":["http://54.223.164.155:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_newyorkRoads_L//fields"],"supportAttachments":false,"supportFeatureMetadatas":false,"datasetInfo":{"fieldInfos":[{"isRequired":true,"defaultValue":"","name":"SmID","caption":"SmID","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmLength","caption":"SmLength","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmSdriW","caption":"SmSdriW","type":"SINGLE","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmSdriN","caption":"SmSdriN","type":"SINGLE","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmSdriE","caption":"SmSdriE","type":"SINGLE","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmSdriS","caption":"SmSdriS","type":"SINGLE","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmUserID","caption":"SmUserID","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":true,"defaultValue":"0","name":"SmTopoError","caption":"SmTopoError","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":false,"defaultValue":"0","name":"SmGeometrySize","caption":"SmGeometrySize","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"-1","name":"SmGeoPosition","caption":"SmGeoPosition","type":"INT64","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":false,"defaultValue":"","name":"name","caption":"name","type":"WTEXT","maxLength":48,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"type","caption":"type","type":"WTEXT","maxLength":16,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"length","caption":"length","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":false}],"epsgCode":4326,"datasetName":"newyorkRoads_L","bounds":"Left=-74.2552929,Bottom=40.4965145,Right=-73.69312690280937,Top=40.927416444297904","available":true,"name":"samples_processing_newyorkRoads_L","readOnly":false,"datasetType":"LINE","type":"UDB","url":"../../samples/data/ProcessingData/processing.udb"}}`; |
| 37 | + return Promise.resolve(new Response(dataJson)); |
| 38 | + } else if(url.indexOf("/density/")>-1) { |
| 39 | + var analysisResult1 =`{"id":"5f17d37b_bde9_46aa_80ae_be090be25340","state":{"errorStackTrace":null,"endState":true,"startTime":1540369770197,"endTime":1540369781534,"publisherelapsedTime":1320,"runState":"FINISHED","errorMsg":null,"elapsedTime":9070},"setting":{"output":{"outputPath":"/home/ubuntu/iserver/supermap_iserver_910_16117_3906_linux64/webapps/iserver/processingResultData/Analyst/5f17d37b_bde9_46aa_80ae_be090be25340/kernelDensity.smwu","datasourcePath":"/home/ubuntu/iserver/supermap_iserver_910_16117_3906_linux64/webapps/iserver/processingResultData/Analyst/5f17d37b_bde9_46aa_80ae_be090be25340/1911ef66_f4cd_4ce2_a346_a079114b13dc.udb","datasetName":"analystResult","type":"UDB"},"args":null,"input":{"datasetName":"samples_processing_newyorkPoint_P","numSlices":36,"specField":null,"datasetInfo":{"fieldInfos":[{"isRequired":true,"defaultValue":"","name":"SmID","caption":"SmID","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmX","caption":"SmX","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmY","caption":"SmY","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":false,"defaultValue":"1","name":"SmLibTileID","caption":"SmLibTileID","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"0","name":"SmUserID","caption":"SmUserID","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"0","name":"SmGeometrySize","caption":"SmGeometrySize","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":true,"defaultValue":"-1","name":"SmGeoPosition","caption":"SmGeoPosition","type":"INT64","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":true},{"isRequired":false,"defaultValue":"","name":"medallion","caption":"medallion","type":"WTEXT","maxLength":255,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"hack_license","caption":"hack_license","type":"WTEXT","maxLength":255,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"vecdor_id","caption":"vecdor_id","type":"WTEXT","maxLength":255,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"rate_code","caption":"rate_code","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"store_and_fwd_flag","caption":"store_and_fwd_flag","type":"WTEXT","maxLength":255,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"pickup_datetime","caption":"pickup_datetime","type":"DATETIME","maxLength":255,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"dropoff_datetime","caption":"dropoff_datetime","type":"DATETIME","maxLength":255,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"passenger_count","caption":"passenger_count","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"trip_time_in_secs","caption":"trip_time_in_secs","type":"INT32","maxLength":4,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"trip_distance","caption":"trip_distance","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"pickup_longitude","caption":"pickup_longitude","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"pickup_latitude","caption":"pickup_latitude","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"dropoff_longitude","caption":"dropoff_longitude","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":false},{"isRequired":false,"defaultValue":"","name":"dropoff_latitude","caption":"dropoff_latitude","type":"DOUBLE","maxLength":8,"isZeroLengthAllowed":true,"isSystemField":false}],"epsgCode":4326,"datasetName":"newyorkPoint_P","bounds":"Left=-74.342308,Bottom=40.576233,Right=-73.58014699999998,Top=40.901577","available":true,"name":"samples_processing_newyorkPoint_P","readOnly":false,"datasetType":"POINT","type":"UDB","url":"../../samples/data/ProcessingData/processing.udb"}},"DEFAULT_MASTER_ADRESS":"local[*] ","referToken":"0ra2250-rPu6ZnqHPKqcqDjGkDGDv3bg5HHy1SNNXf79OlN0ArG07bq3cGFz0v-nfBm2RAnYJ3LGBsuiptH43g..","mainClass":null,"sparkLogFile":null,"appName":null,"analyst":{"areaUnit":"SquareMile","meshType":0,"method":0,"query":"","radius":"300","fields":"rate_code","radiusUnit":"Meter","resolution":"1000","meshSizeUnit":"Meter"},"contextSetting":null,"serviceInfo":{"targetDataPath":"/home/ubuntu/iserver/supermap_iserver_910_16117_3906_linux64/webapps/iserver/processingResultData/Analyst/5f17d37b_bde9_46aa_80ae_be090be25340/kernelDensity.smwu","targetServiceInfos":[{"serviceType":"RESTMAP","serviceAddress":"http://54.223.164.155:8090/iserver/services/map-kernelDensity2/rest"},{"serviceType":"RESTDATA","serviceAddress":"http://54.223.164.155:8090/iserver/services/data-kernelDensity2/rest"}]},"referServicesAddress":"http://172.31.4.162:8090/iserver"}}` |
| 40 | + return Promise.resolve(new Response(analysisResult1)); |
| 41 | + }else if(url.indexOf("/map-kernelDensity2/rest/maps")>-1) { |
| 42 | + var responseResult = `[{"resourceConfigID":"map","supportedMediaTypes":["application/xml","text/xml","application/json","application/fastjson","application/rjson","text/html","application/jsonp","application/x-java-serialized-object","application/ajax","application/kml","application/ifx","application/flex","application/flash","application/flash3d","application/ijs","application/javascript","application/html5","application/ol3","application/vt","application/vectortile","application/isl","application/silverlight","application/smc","application/supermapcloud","application/tdt","application/tianditu","application/ilt","application/leaflet","application/mbgl"],"path":"http://54.223.164.155:8090/iserver/services/map-kernelDensity4/rest/maps/kernelDensity_rate_code_Density_Map","name":"kernelDensity_rate_code_Density_Map","resourceType":"StaticResource"},{"resourceConfigID":"map","supportedMediaTypes":["application/xml","text/xml","application/json","application/fastjson","application/rjson","text/html","application/jsonp","application/x-java-serialized-object","application/ajax","application/kml","application/ifx","application/flex","application/flash","application/flash3d","application/ijs","application/javascript","application/html5","application/ol3","application/vt","application/vectortile","application/isl","application/silverlight","application/smc","application/supermapcloud","application/tdt","application/tianditu","application/ilt","application/leaflet","application/mbgl"],"path":"http://54.223.164.155:8090/iserver/services/map-kernelDensity2/rest/maps/kernelDensity_RecordCount_Density_Map","name":"kernelDensity_RecordCount_Density_Map","resourceType":"StaticResource"}]`; |
| 43 | + return Promise.resolve(new Response(responseResult)); |
| 44 | + |
| 45 | + } |
| 46 | + return Promise.resolve(); |
| 47 | + }); |
| 48 | + // 将微件加载在地图上 |
| 49 | + distributedAnalysis.addTo(map); |
| 50 | + |
| 51 | + }); |
| 52 | + beforeEach(() => { |
| 53 | + originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL; |
| 54 | + jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000; |
| 55 | + serviceResult = null; |
| 56 | + |
| 57 | + }); |
| 58 | + afterEach(() => { |
| 59 | + jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout; |
| 60 | + }); |
| 61 | + // 分析 |
| 62 | + it('analysis',(done)=>{ |
| 63 | + expect(distributedAnalysis).not.toBeNull(); |
| 64 | + spyOn(FetchRequest, 'post').and.callFake((url) => { |
| 65 | + if(url.indexOf("/density.json")>-1){ |
| 66 | + var analysisResult = kernelDensityJob_post; |
| 67 | + return Promise.resolve(new Response(analysisResult)); |
| 68 | + } |
| 69 | + return Promise.resolve(); |
| 70 | + }); |
| 71 | + // 分析成功的监听事件 |
| 72 | + distributedAnalysis.on('analysissuccessed', (e) => { |
| 73 | + // 得到响应的结果 |
| 74 | + serviceResult = e; |
| 75 | + if (serviceResult.error) { |
| 76 | + expect(serviceResult.error).not.toBeNull(); |
| 77 | + } |
| 78 | + try { |
| 79 | + expect(serviceResult).not.toBeNull(); |
| 80 | + expect(serviceResult.type).toBe("analysissuccessed"); |
| 81 | + // layer |
| 82 | + expect(serviceResult.layer.requestParams.cacheEnabled).toBeTruthy(); |
| 83 | + expect(serviceResult.layer.requestParams.origin).toEqual('{"x":-180,"y":90}'); |
| 84 | + expect(serviceResult.layer.requestParams.redirect).toBeFalsy(); |
| 85 | + //sourceTarget |
| 86 | + expect(serviceResult.sourceTarget._firingCount).toEqual(1); |
| 87 | + done(); |
| 88 | + } catch (exception) { |
| 89 | + console.log("'getFeatures_success'案例失败:" + exception.name + ":" + exception.message); |
| 90 | + done(); |
| 91 | + } |
| 92 | + }); |
| 93 | + // 配置可行参数 |
| 94 | + // 1.数据集 |
| 95 | + var datasetSelectName = distributedAnalysis.datasetSelectName; |
| 96 | + datasetSelectName.innerHTML="samples_processing_newyorkPoint_P"; |
| 97 | + datasetSelectName.title="samples_processing_newyorkPoint_P"; |
| 98 | + |
| 99 | + // 2.权重字段 |
| 100 | + var analyseContainer=document.getElementsByClassName('IDW')[0]; |
| 101 | + var weightFieldsSelectName = analyseContainer.children[0].children[2].children[1].children[0]; |
| 102 | + weightFieldsSelectName.innerHTML="rate_code"; |
| 103 | + weightFieldsSelectName.title="rate_code"; |
| 104 | + |
| 105 | + var analysitBtn = document.getElementsByClassName('analysis-btn')[0]; |
| 106 | + analysitBtn.click(); |
| 107 | + }); |
| 108 | + |
| 109 | + it('clearLayers',(done)=>{ |
| 110 | + // var datasetSelect = distributedAnalysis.datasetSelect; |
| 111 | + // datasetSelect.children[2].click(); |
| 112 | + // 查看remove是否被调 |
| 113 | + spyOn(distributedAnalysis.viewModel.resultLayers[0], 'remove').and.callThrough(); |
| 114 | + // 监听 |
| 115 | + distributedAnalysis.viewModel.on('layersremoved', (e) => { |
| 116 | + let layers = e.layers; |
| 117 | + for (let i in layers) { |
| 118 | + expect(layers[i].remove).toHaveBeenCalled(); |
| 119 | + // 清除map图层 |
| 120 | + var _map = layers[i]._map; |
| 121 | + try { |
| 122 | + expect(_map).toBeNull(); |
| 123 | + done(); |
| 124 | + } catch (exception) { |
| 125 | + console.log("'clearLayers'案例失败:" + exception.name + ":" + exception.message); |
| 126 | + done(); |
| 127 | + } |
| 128 | + } |
| 129 | + }); |
| 130 | + // 调用 |
| 131 | + distributedAnalysis.viewModel.clearLayers(); |
| 132 | + }); |
| 133 | + |
| 134 | + it('getDatasetsName',(done)=>{ |
| 135 | + distributedAnalysis.viewModel.on('datasetsloaded', (e) => { |
| 136 | + var result = e.result; |
| 137 | + try { |
| 138 | + expect(result).not.toBeNull(); |
| 139 | + expect(result.dataset.datasetNames[0]).toBe("samples_processing_newyorkZone_R"); |
| 140 | + expect(result.dataset.datasetNames.length).toEqual(8); |
| 141 | + expect(result.datasetHash).not.toBeNull(0); |
| 142 | + done(); |
| 143 | + } catch (exception) { |
| 144 | + console.log("'getDatasetsName'案例失败:" + exception.name + ":" + exception.message); |
| 145 | + done(); |
| 146 | + } |
| 147 | + }); |
| 148 | + |
| 149 | + distributedAnalysis.viewModel.getDatasetsName(); |
| 150 | + }); |
| 151 | + |
| 152 | + // get请求来的data里面缺失datasetInfo |
| 153 | + xit('getDatasetInfo',()=>{ |
| 154 | + var datasetSelect = distributedAnalysis.datasetSelect; |
| 155 | + datasetSelect.children[2].click(); |
| 156 | + // var datasetUrl="http://54.223.164.155:8090/iserver/services/datacatalog/rest/datacatalog/sharefile/samples_processing_newyorkPoint_P"; |
| 157 | + // distributedAnalysis.viewModel.on('datasetinfoloaded', (e) => { |
| 158 | + // var result = e.result; |
| 159 | + // try { |
| 160 | + // expect(result).not.toBeNull(); |
| 161 | + // done(); |
| 162 | + // } catch (exception) { |
| 163 | + // console.log("'getDatasetInfo'案例失败:" + exception.name + ":" + exception.message); |
| 164 | + // done(); |
| 165 | + // } |
| 166 | + // }); |
| 167 | + distributedAnalysis.viewModel.getDatasetInfo(); |
| 168 | + }); |
| 169 | + |
| 170 | +}); |
| 171 | + |
| 172 | + |
0 commit comments