Skip to content

Commit 8ad249f

Browse files
committed
优化ut review by songym
1 parent 9229637 commit 8ad249f

File tree

2 files changed

+233
-218
lines changed

2 files changed

+233
-218
lines changed

test/common/iServer/FindTSPPathsServiceSpec.js

Lines changed: 84 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,39 @@
1-
import {FindTSPPathsService} from '../../../src/common/iServer/FindTSPPathsService';
2-
import {FindTSPPathsParameters} from '../../../src/common/iServer/FindTSPPathsParameters';
3-
import {TransportationAnalystParameter} from '../../../src/common/iServer/TransportationAnalystParameter';
4-
import {TransportationAnalystResultSetting} from '../../../src/common/iServer/TransportationAnalystResultSetting';
5-
import {Point} from '../../../src/common/commontypes/geometry/Point';
1+
import { FindTSPPathsService } from '../../../src/common/iServer/FindTSPPathsService';
2+
import { FindTSPPathsParameters } from '../../../src/common/iServer/FindTSPPathsParameters';
3+
import { TransportationAnalystParameter } from '../../../src/common/iServer/TransportationAnalystParameter';
4+
import { TransportationAnalystResultSetting } from '../../../src/common/iServer/TransportationAnalystResultSetting';
5+
import { Point } from '../../../src/common/commontypes/geometry/Point';
66
import { FetchRequest } from '../../../src/common/util/FetchRequest';
77

88
//服务初始化时注册事件监听函数
99
var url = GlobeParameter.networkAnalystURL;
1010
var serviceFailedEventArgsSystem = null, serviceSucceedEventArgsSystem = null;
11-
var initFindTSPPathService = () => {
12-
return new FindTSPPathsService(url, options);
13-
};
14-
var findTSPPathServiceCompleted = (serviceSucceedEventArgs) => {
15-
serviceSucceedEventArgsSystem = serviceSucceedEventArgs;
16-
};
17-
var findTSPPathServiceFailed = (serviceFailedEventArgs) => {
18-
serviceFailedEventArgsSystem = serviceFailedEventArgs;
19-
};
20-
var options = {
21-
eventListeners: {
22-
'processFailed': findTSPPathServiceFailed,
23-
'processCompleted': findTSPPathServiceCompleted
24-
}
11+
var initFindTSPPathService = (findTSPPathServiceCompleted, findTSPPathServiceFailed) => {
12+
return new FindTSPPathsService(url, {
13+
eventListeners: {
14+
'processFailed': findTSPPathServiceFailed,
15+
'processCompleted': findTSPPathServiceCompleted
16+
}
17+
});
2518
};
2619

20+
2721
describe('FindTSPPathsService', () => {
2822
var originalTimeout;
2923
beforeEach(() => {
3024
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
3125
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
26+
serviceSucceedEventArgsSystem = null;
3227
});
3328
afterEach(() => {
3429
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
3530
});
3631

3732
//测试正常情况
38-
it('processAsync_default', (done) => {
33+
it('processAsync_default', (done) => {
3934
var nodeArray = [new Point(5627.7550668827, -3627.4849836293),
40-
new Point(5018.1469160422, -4638.5424045354),
41-
new Point(6133.2837773358, -4645.9766502774)
35+
new Point(5018.1469160422, -4638.5424045354),
36+
new Point(6133.2837773358, -4645.9766502774)
4237
];
4338
var resultSetting = new TransportationAnalystResultSetting({
4439
returnEdgeFeatures: true,
@@ -60,12 +55,7 @@ describe('FindTSPPathsService', () => {
6055
endNodeAssigned: false,
6156
parameter: analystParameter
6257
});
63-
var findTSPPathsService = initFindTSPPathService();
64-
spyOn(FetchRequest, 'get').and.callFake(() => {
65-
return Promise.resolve(new Response(JSON.stringify(findTSPPathsResultJson)))
66-
});
67-
findTSPPathsService.processAsync(parameter);
68-
setTimeout(() => {
58+
var findTSPPathServiceCompleted = (serviceSucceedEventArgsSystem) => {
6959
try {
7060
var analystResult = serviceSucceedEventArgsSystem.result.tspPathList;
7161
expect(analystResult).not.toBeNull();
@@ -114,13 +104,22 @@ describe('FindTSPPathsService', () => {
114104
parameter.destroy();
115105
done();
116106
}
117-
}, 2000)
107+
};
108+
var findTSPPathServiceFailed = (serviceFailedEventArgs) => {
109+
serviceFailedEventArgsSystem = serviceFailedEventArgs;
110+
};
111+
var findTSPPathsService = initFindTSPPathService(findTSPPathServiceCompleted, findTSPPathServiceFailed);
112+
spyOn(FetchRequest, 'get').and.callFake((url) => {
113+
expect(url).toContain("iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?");
114+
return Promise.resolve(new Response(JSON.stringify(findTSPPathsResultJson)))
115+
});
116+
findTSPPathsService.processAsync(parameter);
118117
});
119118

120119
//id为空
121-
it('processAsync_isAnalyzeById:null', (done) => {
120+
it('processAsync_isAnalyzeById:null', (done) => {
122121
var nodeArray = [new Point(119.6100397551, -122.6278394459),
123-
new Point(171.9035599945, -113.2491141857)
122+
new Point(171.9035599945, -113.2491141857)
124123
];
125124
var resultSetting = new TransportationAnalystResultSetting({
126125
returnEdgeFeatures: true,
@@ -142,12 +141,10 @@ describe('FindTSPPathsService', () => {
142141
endNodeAssigned: false,
143142
parameter: analystParameter
144143
});
145-
var findTSPPathsService = initFindTSPPathService();
146-
spyOn(FetchRequest, 'get').and.callFake(() => {
147-
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"参数nodes 不是有效的JSON 字符串对象"}}`))
148-
});
149-
findTSPPathsService.processAsync(parameter);
150-
setTimeout(() => {
144+
var findTSPPathServiceCompleted = (serviceSucceedEventArgs) => {
145+
serviceSucceedEventArgsSystem = serviceSucceedEventArgs;
146+
};
147+
var findTSPPathServiceFailed = (serviceFailedEventArgsSystem) => {
151148
try {
152149
expect(serviceFailedEventArgsSystem.type).toBe("processFailed");
153150
expect(serviceFailedEventArgsSystem.error.code).toEqual(400);
@@ -162,13 +159,20 @@ describe('FindTSPPathsService', () => {
162159
parameter.destroy();
163160
done();
164161
}
165-
}, 2000)
162+
};
163+
164+
var findTSPPathsService = initFindTSPPathService(findTSPPathServiceCompleted, findTSPPathServiceFailed);
165+
spyOn(FetchRequest, 'get').and.callFake((url) => {
166+
expect(url).toContain("iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?");
167+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"参数nodes 不是有效的JSON 字符串对象"}}`))
168+
});
169+
findTSPPathsService.processAsync(parameter);
166170
});
167171

168172
//参数错误
169-
it('processAsync_parameterWrong', (done) => {
173+
it('processAsync_parameterWrong', (done) => {
170174
var nodeArray = [new Point(119.6100397551, -122.6278394459),
171-
new Point(171.9035599945, -113.2491141857)
175+
new Point(171.9035599945, -113.2491141857)
172176
];
173177
var resultSetting = new TransportationAnalystResultSetting({
174178
returnEdgeFeatures: false,
@@ -190,12 +194,10 @@ describe('FindTSPPathsService', () => {
190194
endNodeAssigned: false,
191195
parameter: analystParameter
192196
});
193-
var findTSPPathsService = initFindTSPPathService();
194-
spyOn(FetchRequest, 'get').and.callFake(() => {
195-
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"执行 findTSPPath 操作时出错,原因是:权重字段TurnCost1不存在。 "}}`))
196-
});
197-
findTSPPathsService.processAsync(parameter);
198-
setTimeout(() => {
197+
var findTSPPathServiceCompleted = (serviceSucceedEventArgs) => {
198+
serviceSucceedEventArgsSystem = serviceSucceedEventArgs;
199+
};
200+
var findTSPPathServiceFailed = (serviceFailedEventArgsSystem) => {
199201
try {
200202
expect(serviceFailedEventArgsSystem.type).toBe("processFailed");
201203
expect(serviceFailedEventArgsSystem.error.code).toEqual(400);
@@ -210,34 +212,36 @@ describe('FindTSPPathsService', () => {
210212
parameter.destroy();
211213
done();
212214
}
213-
}, 2000)
215+
};
216+
217+
var findTSPPathsService = initFindTSPPathService(findTSPPathServiceCompleted, findTSPPathServiceFailed);
218+
spyOn(FetchRequest, 'get').and.callFake((url) => {
219+
expect(url).toContain("iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?");
220+
return Promise.resolve(new Response(`{"succeed":false,"error":{"code":400,"errorMsg":"执行 findTSPPath 操作时出错,原因是:权重字段TurnCost1不存在。 "}}`))
221+
});
222+
findTSPPathsService.processAsync(parameter);
214223
});
215224

216225
//参数为空
217-
it('processAsync_parameterNull', (done) => {
218-
var findTSPPathsService = initFindTSPPathService();
226+
it('processAsync_parameterNull', () => {
227+
var flag = false;
228+
var findTSPPathServiceCompleted = (serviceSucceedEventArgs) => {
229+
flag = true;
230+
};
231+
var findTSPPathServiceFailed = (serviceFailedEventArgsSystem) => {
232+
flag = true;
233+
};
234+
235+
var findTSPPathsService = initFindTSPPathService(findTSPPathServiceCompleted, findTSPPathServiceFailed);
219236
findTSPPathsService.processAsync();
220-
setTimeout(() => {
221-
try {
222-
expect(serviceFailedEventArgsSystem.type).toBe("processFailed");
223-
expect(serviceFailedEventArgsSystem.error.code).toEqual(400);
224-
expect(serviceFailedEventArgsSystem.error.errorMsg).not.toBeNull();
225-
findTSPPathsService.destroy();
226-
done();
227-
} catch (exception) {
228-
expect(false).toBeTruthy();
229-
console.log("FindTSPPathsService_" + exception.name + ":" + exception.message);
230-
findTSPPathsService.destroy();
231-
done();
232-
}
233-
}, 2000)
237+
expect(flag).toBeFalsy;
234238
});
235239

236240
//AnalyzeById_wrong
237241
it('processAsync_AnalyzeById_wrong', (done) => {
238242
var nodeArray = [new Point(5627.7550668827, -3627.4849836293),
239-
new Point(5018.1469160422, -4638.5424045354),
240-
new Point(6133.2837773358, -4645.9766502774)
243+
new Point(5018.1469160422, -4638.5424045354),
244+
new Point(6133.2837773358, -4645.9766502774)
241245
];
242246
var resultSetting = new TransportationAnalystResultSetting({
243247
returnEdgeFeatures: true,
@@ -259,16 +263,10 @@ describe('FindTSPPathsService', () => {
259263
endNodeAssigned: false,
260264
parameter: analystParameter
261265
});
262-
var findTSPPathsService = initFindTSPPathService();
263-
spyOn(FetchRequest, 'get').and.callFake(() => {
264-
return Promise.resolve(new Response(`tsppath`))
265-
});
266-
findTSPPathsService.processAsync(parameter);
267-
setTimeout(() => {
266+
var findTSPPathServiceCompleted = (serviceSucceedEventArgs) => {
268267
try {
269-
expect(serviceFailedEventArgsSystem.type).toBe("processFailed");
270-
expect(serviceFailedEventArgsSystem.error.code).toEqual(400);
271-
expect(serviceFailedEventArgsSystem.error.errorMsg).not.toBeNull();
268+
expect(serviceSucceedEventArgs.type).toBe("processCompleted");
269+
expect(serviceSucceedEventArgs.result.succeed).toBeTruthy;
272270
findTSPPathsService.destroy();
273271
parameter.destroy();
274272
done();
@@ -279,6 +277,17 @@ describe('FindTSPPathsService', () => {
279277
parameter.destroy();
280278
done();
281279
}
282-
}, 2000)
280+
};
281+
var findTSPPathServiceFailed = (serviceFailedEventArgsSystem) => {
282+
283+
};
284+
285+
var findTSPPathsService = initFindTSPPathService(findTSPPathServiceCompleted, findTSPPathServiceFailed);
286+
spyOn(FetchRequest, 'get').and.callFake((url) => {
287+
expect(url).toContain("iserver/services/transportationanalyst-sample/rest/networkanalyst/RoadNet@Changchun/tsppath.json?");
288+
return Promise.resolve(new Response(`tsppath`))
289+
});
290+
291+
findTSPPathsService.processAsync(parameter);
283292
})
284293
});

0 commit comments

Comments
 (0)