Skip to content

Commit b46f901

Browse files
committed
优化UT代码 review by songym
1 parent 0d061d6 commit b46f901

23 files changed

+1613
-1301
lines changed

test/common/iServer/AddressMatchServiceSpec.js

Lines changed: 45 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -35,27 +35,6 @@ describe('AddressMatchService', () => {
3535
};
3636
var codeCompleted = (analyseEventArgs) => {
3737
codingSuccessEventArgs = analyseEventArgs;
38-
};
39-
var options = {
40-
eventListeners: {"processCompleted": codeCompleted, 'processFailed': codeFailed}
41-
};
42-
var GeoCodingParams = new GeoCodingParameter({
43-
address: '公司',
44-
fromIndex: 0,
45-
toIndex: 10,
46-
filters: '北京市,海淀区',
47-
prjCoordSys: '{epsgcode:4326}',
48-
maxReturn: -1
49-
});
50-
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-
});
57-
addressCodeService.code(addressMatchURL_code, GeoCodingParams);
58-
setTimeout(() => {
5938
try {
6039
expect(addressCodeService).not.toBeNull();
6140
expect(codingSuccessEventArgs).not.toBeNull();
@@ -76,7 +55,28 @@ describe('AddressMatchService', () => {
7655
expect(false).toBeTruthy();
7756
done();
7857
}
79-
}, 5000)
58+
};
59+
var options = {
60+
eventListeners: {"processCompleted": codeCompleted, 'processFailed': codeFailed}
61+
};
62+
var GeoCodingParams = new GeoCodingParameter({
63+
address: '公司',
64+
fromIndex: 0,
65+
toIndex: 10,
66+
filters: '北京市,海淀区',
67+
prjCoordSys: '{epsgcode:4326}',
68+
maxReturn: -1
69+
});
70+
var addressCodeService = new AddressMatchService(addressMatchURL_code, options);
71+
spyOn(FetchRequest, 'get').and.callFake((testUrl, params, options) => {
72+
expect(testUrl).toBe(addressMatchURL_code);
73+
expect(params.address).toBe('公司');
74+
expect(params.prjCoordSys).toBe('{epsgcode:4326}');
75+
expect(options).not.toBeNull();
76+
return Promise.resolve(new Response(codeSuccessEscapedJson));
77+
});
78+
addressCodeService.code(addressMatchURL_code, GeoCodingParams);
79+
8080
});
8181

8282
it('decode', (done) => {
@@ -86,6 +86,26 @@ describe('AddressMatchService', () => {
8686
};
8787
var decodeCompleted = (analyseEventArgs) => {
8888
decodingSuccessEventArgs = analyseEventArgs;
89+
try {
90+
expect(addressDeCodeService).not.toBeNull();
91+
expect(decodingSuccessEventArgs).not.toBeNull();
92+
expect(decodingSuccessEventArgs.type).toBe('processCompleted');
93+
expect(decodingSuccessEventArgs.result).not.toBeNull();
94+
expect(decodingSuccessEventArgs.result.length).toEqual(5);
95+
addressDeCodeService.destroy();
96+
GeoDeCodingParams.destroy();
97+
decodingFailedEventArgs = null;
98+
decodingSuccessEventArgs = null;
99+
done();
100+
} catch (exception) {
101+
console.log("'code'案例失败:" + exception.name + ":" + exception.message);
102+
addressDeCodeService.destroy();
103+
GeoDeCodingParams.destroy();
104+
decodingFailedEventArgs = null;
105+
decodingSuccessEventArgs = null;
106+
expect(false).toBeTruthy();
107+
done();
108+
}
89109
};
90110
var options = {
91111
eventListeners: {"processCompleted": decodeCompleted, 'processFailed': decodeFailed}
@@ -104,32 +124,13 @@ describe('AddressMatchService', () => {
104124
spyOn(FetchRequest, 'get').and.callFake((testUrl, params, options) => {
105125
expect(testUrl).toBe(addressMatchURL_decode);
106126
expect(params).not.toBeNull();
127+
expect(params.x).toBe(116.31740122415627);
128+
expect(params.prjCoordSys).toBe('{epsgcode:4326}');
107129
expect(options).not.toBeNull();
108130
return Promise.resolve(new Response(decodeSuccessEscapedJson));
109131
});
110132
addressDeCodeService.decode(addressMatchURL_decode, GeoDeCodingParams);
111-
setTimeout(() => {
112-
try {
113-
expect(addressDeCodeService).not.toBeNull();
114-
expect(decodingSuccessEventArgs).not.toBeNull();
115-
expect(decodingSuccessEventArgs.type).toBe('processCompleted');
116-
expect(decodingSuccessEventArgs.result).not.toBeNull();
117-
expect(decodingSuccessEventArgs.result.length).toEqual(5);
118-
addressDeCodeService.destroy();
119-
GeoDeCodingParams.destroy();
120-
decodingFailedEventArgs = null;
121-
decodingSuccessEventArgs = null;
122-
done();
123-
} catch (exception) {
124-
console.log("'code'案例失败:" + exception.name + ":" + exception.message);
125-
addressDeCodeService.destroy();
126-
GeoDeCodingParams.destroy();
127-
decodingFailedEventArgs = null;
128-
decodingSuccessEventArgs = null;
129-
expect(false).toBeTruthy();
130-
done();
131-
}
132-
}, 5000)
133+
133134
});
134135
});
135136

test/common/iServer/BufferAnalystServiceSpec.js

Lines changed: 71 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,17 @@ import request from 'request';
1111

1212
var url = GlobeParameter.spatialAnalystURL;
1313
var serviceFailedEventArgsSystem = null, analystEventArgsSystem = null;
14-
var initBufferAnalystService = () => {
15-
return new BufferAnalystService(url, options);
14+
var initBufferAnalystService = (analyzeCompleted,analyzeFailed) => {
15+
return new BufferAnalystService(url, {
16+
eventListeners: {"processCompleted": analyzeCompleted, 'processFailed': analyzeFailed}
17+
});
1618
};
1719
var analyzeFailed = (serviceFailedEventArgs) => {
1820
serviceFailedEventArgsSystem = serviceFailedEventArgs;
1921
};
20-
var analyzeCompleted = (analyseEventArgs) => {
22+
var analyzeCompleted1 = (analyseEventArgs) => {
2123
analystEventArgsSystem = analyseEventArgs;
2224
};
23-
var options = {
24-
eventListeners: {"processCompleted": analyzeCompleted, 'processFailed': analyzeFailed}
25-
};
2625

2726
describe('BufferAnalystService', () => {
2827
var originalTimeout;
@@ -39,32 +38,8 @@ describe('BufferAnalystService', () => {
3938
var resultDataset = "BufferAnalystByDS_commonTest";
4039
//测试成功事件
4140
it('success:BufferAnalystService_byDatasets', (done) => {
42-
var bfServiceByDatasets = initBufferAnalystService();
43-
var resultSetting = new DataReturnOption({
44-
expectCount: 2000,
45-
dataset: resultDataset,
46-
dataReturnMode: DataReturnMode.DATASET_ONLY,
47-
deleteExistResultDataset: true
48-
});
49-
var dsBufferAnalystParameters = new DatasetBufferAnalystParameters();
50-
dsBufferAnalystParameters.dataset = "Landuse_R@Jingjin";
51-
dsBufferAnalystParameters.filterQueryParameter.attributeFilter = "smid like 48";
52-
dsBufferAnalystParameters.bufferSetting.endType = BufferEndType.ROUND;
53-
dsBufferAnalystParameters.bufferSetting.semicircleLineSegment = 5;
54-
dsBufferAnalystParameters.bufferSetting.leftDistance.value = 100;
55-
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-
66-
bfServiceByDatasets.processAsync(dsBufferAnalystParameters);
67-
setTimeout(() => {
41+
var analyzeCompleted = (analyseEventArgs) => {
42+
analystEventArgsSystem = analyseEventArgs;
6843
try {
6944
expect(bfServiceByDatasets.mode).toEqual("datasets");
7045
expect(analystEventArgsSystem).not.toBeNull();
@@ -86,31 +61,40 @@ describe('BufferAnalystService', () => {
8661
dsBufferAnalystParameters.destroy();
8762
done();
8863
}
89-
}, 5000)
90-
});
64+
};
65+
var bfServiceByDatasets = initBufferAnalystService(analyzeCompleted,analyzeFailed);
66+
var resultSetting = new DataReturnOption({
67+
expectCount: 2000,
68+
dataset: resultDataset,
69+
dataReturnMode: DataReturnMode.DATASET_ONLY,
70+
deleteExistResultDataset: true
71+
});
72+
var dsBufferAnalystParameters = new DatasetBufferAnalystParameters();
73+
dsBufferAnalystParameters.dataset = "Landuse_R@Jingjin";
74+
dsBufferAnalystParameters.filterQueryParameter.attributeFilter = "smid like 48";
75+
dsBufferAnalystParameters.bufferSetting.endType = BufferEndType.ROUND;
76+
dsBufferAnalystParameters.bufferSetting.semicircleLineSegment = 5;
77+
dsBufferAnalystParameters.bufferSetting.leftDistance.value = 100;
78+
dsBufferAnalystParameters.resultSetting = resultSetting;
9179

92-
it('success:BufferAnalystService_byGeometry', (done) => {
93-
var bfServiceByGeometry = initBufferAnalystService();
94-
expect(bfServiceByGeometry).not.toBeNull();
95-
expect(bfServiceByGeometry.url).toEqual(url);
96-
var sourceGeometry = new Geometry.Point(7884.79277012316, 5072.18865322196);
97-
var bufferSetting = new BufferSetting();
98-
bufferSetting.endType = BufferEndType.ROUND;
99-
bufferSetting.leftDistance.value = 300;
100-
bufferSetting.semicircleLineSegment = 5;
101-
var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters();
102-
geometryBufferAnalystParameters.sourceGeometry = sourceGeometry;
103-
geometryBufferAnalystParameters.bufferSetting = bufferSetting;
10480
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
10581
expect(method).toBe("POST");
106-
expect(testUrl).toBe(url + "/geometry/buffer.json?returnContent=true");
82+
expect(testUrl).toBe(url + "/datasets/Landuse_R@Jingjin/buffer.json?returnContent=true");
10783
expect(params).not.toBeNull();
108-
expect(params).toContain("'semicircleLineSegment':5");
84+
// expect(params).toContain("'dataReturnMode':\"DATASET_ONLY\"");
85+
var paramsObj = JSON.parse(params.replace(/'/g, "\""));
86+
expect(paramsObj.dataReturnOption.dataReturnMode).toBe("DATASET_ONLY");
10987
expect(options).not.toBeNull();
110-
return Promise.resolve(new Response(JSON.stringify(bufferAnalysis_byGeometryResultJson)));
88+
return Promise.resolve(new Response(JSON.stringify(bufferAnalysisByDatasetRecordNullResultJson)));
11189
});
112-
bfServiceByGeometry.processAsync(geometryBufferAnalystParameters);
113-
setTimeout(() => {
90+
91+
bfServiceByDatasets.processAsync(dsBufferAnalystParameters);
92+
93+
});
94+
95+
it('success:BufferAnalystService_byGeometry', (done) => {
96+
var analyzeCompleted = (analyseEventArgs) => {
97+
analystEventArgsSystem = analyseEventArgs;
11498
try {
11599
expect(analystEventArgsSystem.type).toBe("processCompleted");
116100
var bfMode = analystEventArgsSystem.result.resultGeometry;
@@ -138,18 +122,14 @@ describe('BufferAnalystService', () => {
138122
geometryBufferAnalystParameters.destroy();
139123
done();
140124
}
141-
}, 4000)
142-
});
143-
144-
//测试失败事件
145-
it('fail:BufferAnalystService_byGeometry', (done) => {
146-
var bfServiceByGeometry = initBufferAnalystService();
125+
}
126+
var bfServiceByGeometry = initBufferAnalystService(analyzeCompleted,analyzeFailed);
147127
expect(bfServiceByGeometry).not.toBeNull();
148128
expect(bfServiceByGeometry.url).toEqual(url);
149129
var sourceGeometry = new Geometry.Point(7884.79277012316, 5072.18865322196);
150130
var bufferSetting = new BufferSetting();
151131
bufferSetting.endType = BufferEndType.ROUND;
152-
bufferSetting.leftDistance.value = -1;
132+
bufferSetting.leftDistance.value = 300;
153133
bufferSetting.semicircleLineSegment = 5;
154134
var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters();
155135
geometryBufferAnalystParameters.sourceGeometry = sourceGeometry;
@@ -158,14 +138,20 @@ describe('BufferAnalystService', () => {
158138
expect(method).toBe("POST");
159139
expect(testUrl).toBe(url + "/geometry/buffer.json?returnContent=true");
160140
expect(params).not.toBeNull();
161-
expect(params).toContain("'semicircleLineSegment':5");
141+
var paramsObj = JSON.parse(params.replace(/'/g, "\""));
142+
expect(paramsObj.analystParameter.semicircleLineSegment).toBe(5);
143+
// expect(params).toContain("'semicircleLineSegment':5");
162144
expect(options).not.toBeNull();
163-
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"左缓冲距离不能小于等于0。"}}`));
145+
return Promise.resolve(new Response(JSON.stringify(bufferAnalysis_byGeometryResultJson)));
164146
});
165147
bfServiceByGeometry.processAsync(geometryBufferAnalystParameters);
166-
setTimeout(() => {
167-
try {
148+
});
168149

150+
//测试失败事件
151+
it('fail:BufferAnalystService_byGeometry', (done) => {
152+
var analyzeFailed1 = (serviceFailedEventArgs) => {
153+
serviceFailedEventArgsSystem = serviceFailedEventArgs;
154+
try {
169155
expect(serviceFailedEventArgsSystem).not.toBeNull();
170156
expect(serviceFailedEventArgsSystem.error).not.toBeNull();
171157
expect(serviceFailedEventArgsSystem.error.errorMsg).not.toBeNull();
@@ -184,7 +170,29 @@ describe('BufferAnalystService', () => {
184170
dsBufferAnalystParameters.destroy();
185171
done();
186172
}
187-
}, 4000)
173+
};
174+
175+
var bfServiceByGeometry = initBufferAnalystService(analyzeCompleted1,analyzeFailed1);
176+
expect(bfServiceByGeometry).not.toBeNull();
177+
expect(bfServiceByGeometry.url).toEqual(url);
178+
var sourceGeometry = new Geometry.Point(7884.79277012316, 5072.18865322196);
179+
var bufferSetting = new BufferSetting();
180+
bufferSetting.endType = BufferEndType.ROUND;
181+
bufferSetting.leftDistance.value = -1;
182+
bufferSetting.semicircleLineSegment = 5;
183+
var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters();
184+
geometryBufferAnalystParameters.sourceGeometry = sourceGeometry;
185+
geometryBufferAnalystParameters.bufferSetting = bufferSetting;
186+
spyOn(FetchRequest, 'commit').and.callFake((method, testUrl, params, options) => {
187+
expect(method).toBe("POST");
188+
expect(testUrl).toBe(url + "/geometry/buffer.json?returnContent=true");
189+
expect(params).not.toBeNull();
190+
var paramsObj = JSON.parse(params.replace(/'/g, "\""));
191+
expect(paramsObj.analystParameter.semicircleLineSegment).toBe(5);
192+
expect(options).not.toBeNull();
193+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"左缓冲距离不能小于等于0。"}}`));
194+
});
195+
bfServiceByGeometry.processAsync(geometryBufferAnalystParameters);
188196
});
189197
});
190198

test/common/iServer/BurstPipelineAnalystServiceSpec.js

Lines changed: 27 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
import {BurstPipelineAnalystService} from '../../../src/common/iServer/BurstPipelineAnalystService';
2-
import {BurstPipelineAnalystParameters} from '../../../src/common/iServer/BurstPipelineAnalystParameters';
3-
import {FetchRequest} from '../../../src/common/util/FetchRequest';
1+
import { BurstPipelineAnalystService } from '../../../src/common/iServer/BurstPipelineAnalystService';
2+
import { BurstPipelineAnalystParameters } from '../../../src/common/iServer/BurstPipelineAnalystParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
44

55
var url = "http://supermap:8090/iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun";
66
var serviceFailedEventArgsSystem = null, serviceCompletedEventArgsSystem = null;
@@ -47,7 +47,7 @@ describe('BurstPipelineAnalystService', () => {
4747

4848
it('constructor, destroy', () => {
4949
var burstPipelineAnalystService = initBurstPipelineAnalystService();
50-
burstPipelineAnalystService.events.on({"processCompleted": analyzeCompleted});
50+
burstPipelineAnalystService.events.on({ "processCompleted": analyzeCompleted });
5151
var burstPipelineAnalystParams = new BurstPipelineAnalystParameters();
5252
burstPipelineAnalystParams.edgeID = 124;
5353
burstPipelineAnalystParams.isUncertainDirectionValid = true;
@@ -79,7 +79,29 @@ describe('BurstPipelineAnalystService', () => {
7979

8080
//正确返回结果
8181
it('processAsync_success', (done) => {
82-
var burstPipelineAnalystService = initBurstPipelineAnalystService();
82+
var analyzeFailed = (serviceFailedEventArgs) => {
83+
serviceFailedEventArgsSystem = serviceFailedEventArgs;
84+
};
85+
var analyzeCompleted = (analyseEventArgs) => {
86+
serviceCompletedEventArgsSystem = analyseEventArgs;
87+
var analystResult = serviceCompletedEventArgsSystem.result;
88+
expect(analystResult).not.toBeNull();
89+
expect(analystResult.succeed).toBeTruthy();
90+
expect(analystResult.criticalNodes.length).toEqual(1);
91+
expect(analystResult.criticalNodes[0]).toEqual(2);
92+
expect(analystResult.edges.length).toEqual(9);
93+
expect(analystResult.normalNodes.length).toEqual(0);
94+
burstPipelineAnalystService.destroy();
95+
burstPipelineAnalystParams.destroy();
96+
done();
97+
};
98+
var options = {
99+
eventListeners: {
100+
"processCompleted": analyzeCompleted,
101+
'processFailed': analyzeFailed
102+
}
103+
};
104+
var burstPipelineAnalystService = new BurstPipelineAnalystService(url, options);
83105
var burstPipelineAnalystParams = new BurstPipelineAnalystParameters({
84106
sourceNodeIDs: [1, 2],
85107
edgeID: 3434,
@@ -98,17 +120,5 @@ describe('BurstPipelineAnalystService', () => {
98120
return Promise.resolve(new Response(escapedJson));
99121
});
100122
burstPipelineAnalystService.processAsync(burstPipelineAnalystParams);
101-
setTimeout(() => {
102-
var analystResult = serviceCompletedEventArgsSystem.result;
103-
expect(analystResult).not.toBeNull();
104-
expect(analystResult.succeed).toBeTruthy();
105-
expect(analystResult.criticalNodes.length).toEqual(1);
106-
expect(analystResult.criticalNodes[0]).toEqual(2);
107-
expect(analystResult.edges.length).toEqual(9);
108-
expect(analystResult.normalNodes.length).toEqual(0);
109-
burstPipelineAnalystService.destroy();
110-
burstPipelineAnalystParams.destroy();
111-
done();
112-
}, 1000)
113123
});
114124
});

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy