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)