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)
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