forked from SuperMap/iClient-JavaScript
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMapServiceSpec.js
More file actions
122 lines (116 loc) · 4.93 KB
/
MapServiceSpec.js
File metadata and controls
122 lines (116 loc) · 4.93 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
import {MapService} from '../../../src/common/iServer/MapService';
var worldMapURL = GlobeParameter.worldMapURL;
//初始化注册事件监听器的Services
var getMapStatusEventArgsSystem = null;
var serviceFailedEventArgsSystem = null;
var GetMapStatusCompleted = (getMapStatusEventArgs) => {
getMapStatusEventArgsSystem = getMapStatusEventArgs;
};
var GetMapStatusFailed = (serviceFailedEventArgs) => {
serviceFailedEventArgsSystem = serviceFailedEventArgs;
};
var initMapService_RegisterListener = () => {
return new MapService(worldMapURL, {
eventListeners: {'processFailed': GetMapStatusFailed, 'processCompleted': GetMapStatusCompleted}
}
);
};
describe('MapService', () => {
var originalTimeout;
beforeEach(() => {
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
});
afterEach(() => {
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
it('constructor_token', () => {
var getMapService = new MapService(worldMapURL, {token: 88888});
expect(getMapService).not.toBeNull();
expect(getMapService.token).toEqual(88888);
getMapService.destroy();
});
//通过的情况
it('success:processAsync', (done) => {
var getMapService = initMapService_RegisterListener();
expect(getMapService).not.toBeNull();
expect(getMapService.url).toEqual(worldMapURL);
getMapService.processAsync();
setTimeout(() => {
try {
var getMapStatusResult = getMapStatusEventArgsSystem.result;
expect(getMapStatusEventArgsSystem).not.toBeNull();
expect(getMapStatusResult).not.toBeNull();
expect(getMapStatusResult.scale).toEqual(4.6292443017131065e-9);
expect(getMapStatusResult.bounds.bottom).toEqual(-90);
expect(getMapStatusResult.bounds.left).toEqual(-180);
expect(getMapStatusResult.viewBounds.bottom).toEqual(-65.71902951328238);
expect(getMapStatusResult.viewBounds.left).toEqual(-65.71902951328238);
expect(getMapStatusResult.viewer).not.toBeNull();
expect(getMapStatusResult.viewer.height).toEqual(256);
expect(getMapStatusResult.viewer.width).toEqual(256);
getMapService.destroy();
expect(getMapService.EVENT_TYPES).toBeNull();
expect(getMapService.events).toBeNull();
expect(getMapService.eventListeners).toBeNull();
done();
} catch (exception) {
expect(false).toBeTruthy();
console.log("MapService_" + exception.name + ":" + exception.message);
getMapService.destroy();
done();
}
}, 2000);
});
it('fail:processAsync', (done) => {
var mapServiceURL = GlobeParameter.mapServiceURL;
var getMapService = new MapService(mapServiceURL + "MapNameError");
getMapService.events.on({'processFailed': GetMapStatusFailed});
getMapService.processAsync();
setTimeout(() => {
try {
expect(serviceFailedEventArgsSystem).not.toBeNull();
expect(serviceFailedEventArgsSystem.error.code).toEqual(404);
expect(serviceFailedEventArgsSystem.error.errorMsg).not.toBeNull();
done();
} catch (exception) {
expect(false).toBeTruthy();
console.log("MapService_" + exception.name + ":" + exception.message);
getMapService.destroy();
done();
}
}, 2000);
});
it('failed:processAsync_withWrongUrl', (done) => {
var wrongUrl = "http://iserverurl.com:8090/iserver/services/map-world/rest/maps";
var getMapStatusResult;
var mapService = new MapService(wrongUrl, {
eventListeners: {
'processFailed': function (result) {
getMapStatusResult = result;
},
'processCompleted': function (result) {
getMapStatusResult = result;
}
}
}
);
expect(mapService).not.toBeNull();
expect(mapService.url).toEqual(wrongUrl);
mapService.processAsync();
setTimeout(() => {
try {
expect(getMapStatusResult).not.toBeNull();
expect(getMapStatusResult.type).toBe("processFailed");
expect(getMapStatusResult.error).not.toBeNull();
expect(getMapStatusResult.object.options.method).toBe("GET");
done();
} catch (exception) {
expect(false).toBeTruthy();
console.log("MapService_" + exception.name + ":" + exception.message);
mapService.destroy();
done();
}
}, 15000);
});
});