Skip to content

Commit a157a16

Browse files
committed
优化UT代码,review by songym.
1 parent 484b577 commit a157a16

File tree

125 files changed

+3097
-1921
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

125 files changed

+3097
-1921
lines changed

test/classic/services/AddressMatchServiceSpec.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {AddressMatchService} from '../../../src/classic/services/AddressMatchService';
22
import {GeoCodingParameter} from '../../../src/common/iServer/GeoCodingParameter';
33
import {GeoDecodingParameter} from '../../../src/common/iServer/GeoDecodingParameter';
4+
import {FetchRequest} from '../../../src/common/util/FetchRequest';
45

56
var addressMatchURL = GlobeParameter.addressMatchURL;
67
describe('classic_AddressMatchService', () => {
@@ -46,6 +47,14 @@ describe('classic_AddressMatchService', () => {
4647
maxReturn: -1
4748
});
4849
var addressCodeService = new AddressMatchService(addressMatchURL, options);
50+
51+
spyOn(FetchRequest, 'get').and.callFake((testUrl, params, options) => {
52+
expect(testUrl).toBe(addressMatchURL + "/geocoding");
53+
expect(params).not.toBeNull();
54+
expect(options).not.toBeNull();
55+
return Promise.resolve(new Response(codeSuccessEscapedJson));
56+
});
57+
4958
addressCodeService.code(GeoCodingParams, codeCompleted);
5059
setTimeout(() => {
5160
try {
@@ -90,6 +99,12 @@ describe('classic_AddressMatchService', () => {
9099
geoDecodingRadius: 500
91100
});
92101
var addressDeCodeService = new AddressMatchService(addressMatchURL);
102+
spyOn(FetchRequest, 'get').and.callFake((testUrl, params, options) => {
103+
expect(testUrl).toBe(addressMatchURL + "/geodecoding");
104+
expect(params).not.toBeNull();
105+
expect(options).not.toBeNull();
106+
return Promise.resolve(new Response(decodeSuccessEscapedJson));
107+
});
93108
addressDeCodeService.decode(GeoDeCodingParams, decodeCompleted);
94109
setTimeout(() => {
95110
try {

test/common/iServer/AddressMatchServiceSpec.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import {AddressMatchService} from '../../../src/common/iServer/AddressMatchService';
22
import {GeoCodingParameter} from '../../../src/common/iServer/GeoCodingParameter';
33
import {GeoDecodingParameter} from '../../../src/common/iServer/GeoDecodingParameter';
4+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
45

56
var addressMatchURL_code = GlobeParameter.addressMatchURL_code;
67
var addressMatchURL_decode = GlobeParameter.addressMatchURL_decode;
@@ -47,6 +48,12 @@ describe('AddressMatchService', () => {
4748
maxReturn: -1
4849
});
4950
var addressCodeService = new AddressMatchService(addressMatchURL_code, options);
51+
spyOn(FetchRequest, 'get').and.callFake((testUrl, params, options) => {
52+
expect(testUrl).toBe(addressMatchURL_code);
53+
expect(params).not.toBeNull();
54+
expect(options).not.toBeNull();
55+
return Promise.resolve(new Response(codeSuccessEscapedJson));
56+
});
5057
addressCodeService.code(addressMatchURL_code, GeoCodingParams);
5158
setTimeout(() => {
5259
try {
@@ -94,6 +101,12 @@ describe('AddressMatchService', () => {
94101
geoDecodingRadius: 500
95102
});
96103
var addressDeCodeService = new AddressMatchService(addressMatchURL_decode, options);
104+
spyOn(FetchRequest, 'get').and.callFake((testUrl, params, options) => {
105+
expect(testUrl).toBe(addressMatchURL_decode);
106+
expect(params).not.toBeNull();
107+
expect(options).not.toBeNull();
108+
return Promise.resolve(new Response(decodeSuccessEscapedJson));
109+
});
97110
addressDeCodeService.decode(addressMatchURL_decode, GeoDeCodingParams);
98111
setTimeout(() => {
99112
try {

test/common/iServer/BufferAnalystServiceSpec.js

Lines changed: 44 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import {BufferAnalystService} from '../../../src/common/iServer/BufferAnalystService';
1+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
2+
import {BufferAnalystService} from '../../../src/common/iServer/BufferAnalystService';
23
import {GeometryBufferAnalystParameters} from '../../../src/common/iServer/GeometryBufferAnalystParameters';
34
import {DatasetBufferAnalystParameters} from '../../../src/common/iServer/DatasetBufferAnalystParameters';
45
import {BufferSetting} from '../../../src/common/iServer/BufferSetting';
@@ -52,11 +53,26 @@ describe('BufferAnalystService', () => {
5253
dsBufferAnalystParameters.bufferSetting.semicircleLineSegment = 5;
5354
dsBufferAnalystParameters.bufferSetting.leftDistance.value = 100;
5455
dsBufferAnalystParameters.resultSetting = resultSetting;
56+
57+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
58+
expect(method).toBe("POST");
59+
expect(testUrl).toBe(url + "/datasets/Landuse_R@Jingjin/buffer.json?returnContent=true");
60+
expect(params).not.toBeNull();
61+
expect(params).toContain("'dataReturnMode':\"DATASET_ONLY\"");
62+
expect(options).not.toBeNull();
63+
return Promise.resolve(new Response(JSON.stringify(bufferAnalysisByDatasetRecordNullResultJson)));
64+
});
65+
5566
bfServiceByDatasets.processAsync(dsBufferAnalystParameters);
5667
setTimeout(() => {
5768
try {
5869
expect(bfServiceByDatasets.mode).toEqual("datasets");
5970
expect(analystEventArgsSystem).not.toBeNull();
71+
var analystResult = analystEventArgsSystem.result;
72+
expect(analystResult).not.toBeNull();
73+
expect(analystResult.message).toBeNull();
74+
expect(analystResult.recordset).toBeNull();
75+
expect(analystResult.succeed).toBeTruthy();
6076
bfServiceByDatasets.destroy();
6177
expect(bfServiceByDatasets.events).toBeNull();
6278
expect(bfServiceByDatasets.eventListeners).toBeNull();
@@ -85,13 +101,31 @@ describe('BufferAnalystService', () => {
85101
var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters();
86102
geometryBufferAnalystParameters.sourceGeometry = sourceGeometry;
87103
geometryBufferAnalystParameters.bufferSetting = bufferSetting;
104+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
105+
expect(method).toBe("POST");
106+
expect(testUrl).toBe(url + "/geometry/buffer.json?returnContent=true");
107+
expect(params).not.toBeNull();
108+
expect(params).toContain("'semicircleLineSegment':5");
109+
expect(options).not.toBeNull();
110+
return Promise.resolve(new Response(JSON.stringify(bufferAnalysis_byGeometryResultJson)));
111+
});
88112
bfServiceByGeometry.processAsync(geometryBufferAnalystParameters);
89113
setTimeout(() => {
90114
try {
115+
expect(analystEventArgsSystem.type).toBe("processCompleted");
91116
var bfMode = analystEventArgsSystem.result.resultGeometry;
92117
expect(bfMode).not.toBeNull();
93118
expect(bfMode.type).toEqual("Feature");
94119
bfServiceByGeometry.destroy();
120+
var analystResult = analystEventArgsSystem.result;
121+
expect(analystResult).not.toBeNull();
122+
expect(analystResult.message).toBeNull();
123+
expect(analystResult.image).toBeNull();
124+
expect(analystResult.succeed).toBeTruthy();
125+
var resultGeometry = analystResult.resultGeometry;
126+
expect(resultGeometry.type).toBe("Feature");
127+
expect(resultGeometry.geometry.type).toBe("MultiPolygon");
128+
expect(resultGeometry.geometry.coordinates.length).toEqual(1);
95129
expect(bfServiceByGeometry.events).toBeNull();
96130
expect(bfServiceByGeometry.eventListeners).toBeNull();
97131
expect(bfServiceByGeometry.mode).toBeNull();
@@ -120,9 +154,18 @@ describe('BufferAnalystService', () => {
120154
var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters();
121155
geometryBufferAnalystParameters.sourceGeometry = sourceGeometry;
122156
geometryBufferAnalystParameters.bufferSetting = bufferSetting;
157+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
158+
expect(method).toBe("POST");
159+
expect(testUrl).toBe(url + "/geometry/buffer.json?returnContent=true");
160+
expect(params).not.toBeNull();
161+
expect(params).toContain("'semicircleLineSegment':5");
162+
expect(options).not.toBeNull();
163+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"左缓冲距离不能小于等于0。"}}`));
164+
});
123165
bfServiceByGeometry.processAsync(geometryBufferAnalystParameters);
124166
setTimeout(() => {
125167
try {
168+
126169
expect(serviceFailedEventArgsSystem).not.toBeNull();
127170
expect(serviceFailedEventArgsSystem.error).not.toBeNull();
128171
expect(serviceFailedEventArgsSystem.error.errorMsg).not.toBeNull();
@@ -143,13 +186,6 @@ describe('BufferAnalystService', () => {
143186
}
144187
}, 4000)
145188
});
146-
147-
// 删除测试过程中产生的测试数据集
148-
it('delete test resources', (done) => {
149-
var testResult = GlobeParameter.datajingjinURL + resultDataset;
150-
request.delete(testResult);
151-
done();
152-
});
153189
});
154190

155191

test/common/iServer/ComputeWeightMatrixServiceSpec.js

Lines changed: 31 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
import {ComputeWeightMatrixService} from '../../../src/common/iServer/ComputeWeightMatrixService';
1+
import {ComputeWeightMatrixService} from '../../../src/common/iServer/ComputeWeightMatrixService';
22
import {ComputeWeightMatrixParameters} from '../../../src/common/iServer/ComputeWeightMatrixParameters';
33
import {TransportationAnalystParameter} from '../../../src/common/iServer/TransportationAnalystParameter';
44
import {FindPathParameters} from '../../../src/common/iServer/FindPathParameters';
55
import {TransportationAnalystResultSetting} from '../../../src/common/iServer/TransportationAnalystResultSetting';
66
import {Point} from '../../../src/common/commontypes/geometry/Point';
7-
7+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
88
var url = GlobeParameter.networkAnalystURL;
99
var serviceFailedEventArgsSystem = null, serviceCompletedEventArgsSystem = null;
1010
var initComputeWeightMatrixService_RegisterListener = () => {
@@ -57,16 +57,25 @@ describe('ComputeWeightMatrixService', () => {
5757
nodes: nodeArray,
5858
parameter: analystParameter
5959
});
60+
61+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
62+
expect(method).toBe("GET");
63+
expect(testUrl).toBe(url + "/weightmatrix.json?");
64+
expect(params).not.toBeNull();
65+
expect(options).not.toBeNull();
66+
return Promise.resolve(new Response(`[[0,53],[53,0]]`));
67+
});
68+
6069
computeWeightMatrixService.processAsync(parameter);
6170

6271
setTimeout(() => {
6372
try {
6473
expect(computeWeightMatrixService).not.toBeNull();
6574
expect(serviceCompletedEventArgsSystem.result).not.toBeNull();
66-
/* expect(serviceCompletedEventArgsSystem.result[0][0]).toEqual(0);
67-
expect(serviceCompletedEventArgsSystem.result[0][1]).toEqual(53);
68-
expect(serviceCompletedEventArgsSystem.result[1][0]).toEqual(53);
69-
expect(serviceCompletedEventArgsSystem.result[1][1]).toEqual(0);*/
75+
expect(serviceCompletedEventArgsSystem.result[0][0]).toEqual(0);
76+
expect(serviceCompletedEventArgsSystem.result[0][1]).toEqual(53);
77+
expect(serviceCompletedEventArgsSystem.result[1][0]).toEqual(53);
78+
expect(serviceCompletedEventArgsSystem.result[1][1]).toEqual(0);
7079
computeWeightMatrixService.destroy();
7180
expect(computeWeightMatrixService.EVENT_TYPES).toBeNull();
7281
expect(computeWeightMatrixService.events).toBeNull();
@@ -110,6 +119,15 @@ describe('ComputeWeightMatrixService', () => {
110119
nodes: nodeArray,
111120
parameter: analystParameter
112121
});
122+
123+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
124+
expect(method).toBe("GET");
125+
expect(testUrl).toBe(url + "/weightmatrix.json?");
126+
expect(params).not.toBeNull();
127+
expect(options).not.toBeNull();
128+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"参数nodes 不是有效的JSON 字符串对象"}}`));
129+
});
130+
113131
computeWeightMatrixService.processAsync(parameter);
114132
setTimeout(() => {
115133
try {
@@ -214,6 +232,13 @@ describe('ComputeWeightMatrixService', () => {
214232
nodes: nodeArray,
215233
parameter: analystParameter
216234
});
235+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
236+
expect(method).toBe("GET");
237+
expect(testUrl).toBe(url + "/weightmatrix.json?");
238+
expect(params).not.toBeNull();
239+
expect(options).not.toBeNull();
240+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"执行 findWeightMatrix 操作时出错,原因是:parameter\\nNode或者Point的个数至少有一个大于0 "}}`));
241+
});
217242
var computeWeightMatrixService = initComputeWeightMatrixService_RegisterListener();
218243
computeWeightMatrixService.processAsync(parameter);
219244
setTimeout(() => {

test/common/iServer/DensityAnalystServiceSpec.js

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {DensityAnalystService} from '../../../src/common/iServer/DensityAnalystService';
22
import {DensityKernelAnalystParameters} from '../../../src/common/iServer/DensityKernelAnalystParameters';
33
import request from 'request';
4-
4+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
55

66
var url = GlobeParameter.spatialAnalystURL_Changchun;
77
var serviceFailedEventArgsSystem = null;
@@ -45,6 +45,14 @@ describe('DensityAnalystService', () => {
4545
//删除重复的数据集
4646
deleteExistResultDataset: true
4747
});
48+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
49+
expect(method).toBe("POST");
50+
expect(testUrl).toBe(url + "/datasets/Railway@Changchun/densityanalyst/kernel.json?returnContent=true");
51+
expect(params).not.toBeNull();
52+
expect(params).toContain("'fieldName':\"SmLength\"");
53+
expect(options).not.toBeNull();
54+
return Promise.resolve(new Response(`{"succeed":true,"recordset":null,"message":null,"dataset":"KernelDensity_commonTest@Changchun"}`));
55+
});
4856
densityAnalystService.processAsync(densityKernelAnalystParameters);
4957
densityAnalystService.events.on({"processCompleted": analyzeCompleted});
5058
setTimeout(() => {
@@ -79,6 +87,14 @@ describe('DensityAnalystService', () => {
7987
resultGridName: resultDataset,
8088
deleteExistResultDataset: true
8189
});
90+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
91+
expect(method).toBe("POST");
92+
expect(testUrl).toBe(url + "/datasets/xx@Changchun/densityanalyst/kernel.json?returnContent=true");
93+
expect(params).not.toBeNull();
94+
expect(params).toContain("'fieldName':\"SmLength\"");
95+
expect(options).not.toBeNull();
96+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"数据集xx@Changchun不存在"}}`));
97+
});
8298
densityAnalystService.processAsync(densityKernelAnalystParameters);
8399
densityAnalystService.events.on({"processFailed": analyzeFailed});
84100
setTimeout(() => {
@@ -100,11 +116,4 @@ describe('DensityAnalystService', () => {
100116
}
101117
}, 5000);
102118
});
103-
104-
// 删除测试过程中产生的测试数据集
105-
it('delete test resources', (done) => {
106-
var testResult = GlobeParameter.datachangchunURL + resultDataset;
107-
request.delete(testResult);
108-
done();
109-
});
110119
});

test/common/iServer/EditFeaturesServiceSpec.js

Lines changed: 31 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
import {EditFeaturesService} from '../../../src/common/iServer/EditFeaturesService';
1+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
2+
import {EditFeaturesService} from '../../../src/common/iServer/EditFeaturesService';
23
import {EditFeaturesParameters} from '../../../src/common/iServer/EditFeaturesParameters';
34
import {Point} from '../../../src/common/commontypes/geometry/Point';
45
import {LinearRing} from '../../../src/common/commontypes/geometry/LinearRing';
@@ -53,6 +54,14 @@ describe('EditFeaturesService', () => {
5354
returnContent: true
5455
});
5556
var addFeatureService = new EditFeaturesService(editServiceURL, addFeatureOptions);
57+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
58+
expect(method).toBe("POST");
59+
expect(testUrl).toBe(editServiceURL + "/features.json?returnContent=true");
60+
expect(params).not.toBeNull();
61+
expect(params).toContain("'type':\"REGION\"");
62+
expect(options).not.toBeNull();
63+
return Promise.resolve(new Response(`[134]`));
64+
});
5665
addFeatureService.processAsync(addFeaturesParams);
5766
setTimeout(() => {
5867
try {
@@ -117,6 +126,13 @@ describe('EditFeaturesService', () => {
117126
editType: EditType.UPDATE
118127
});
119128
var updateFeaturesService = new EditFeaturesService(editServiceURL, updateFeaturesOptions);
129+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
130+
expect(method).toBe("PUT");
131+
expect(testUrl).toBe(editServiceURL + "/features.json?");
132+
expect(params).not.toBeNull();
133+
expect(options).not.toBeNull();
134+
return Promise.resolve(new Response(`{"succeed":true}`));
135+
});
120136
updateFeaturesService.processAsync(updateFeaturesParams);
121137
setTimeout(() => {
122138
try {
@@ -161,6 +177,13 @@ describe('EditFeaturesService', () => {
161177
editType: EditType.DELETE
162178
});
163179
var deleteFeaturesService = new EditFeaturesService(editServiceURL, deleteFeaturesOptions);
180+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
181+
expect(method).toBe("DELETE");
182+
expect(testUrl).toBe(editServiceURL + "/features.json?ids=[134]");
183+
expect(params).not.toBeNull();
184+
expect(options).not.toBeNull();
185+
return Promise.resolve(new Response(`{"succeed":true}`));
186+
});
164187
deleteFeaturesService.processAsync(deleteFeaturesParams);
165188
setTimeout(() => {
166189
try {
@@ -204,6 +227,13 @@ describe('EditFeaturesService', () => {
204227
returnContent: true
205228
});
206229
var noParamsService = new EditFeaturesService(editServiceURL, noParamsOptions);
230+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
231+
expect(method).toBe("POST");
232+
expect(testUrl).toBe(editServiceURL + "/features.json?returnContent=true");
233+
expect(params).not.toBeNull();
234+
expect(options).not.toBeNull();
235+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"the features is empty addFeatures method"}}`));
236+
});
207237
noParamsService.processAsync(noParams);
208238
setTimeout(() => {
209239
try {

0 commit comments

Comments
 (0)