-
Notifications
You must be signed in to change notification settings - Fork 288
Expand file tree
/
Copy pathInitMapSpec.js
More file actions
57 lines (53 loc) · 1.97 KB
/
InitMapSpec.js
File metadata and controls
57 lines (53 loc) · 1.97 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
import { initMap, viewOptionsFromMapJSON } from '../../../src/openlayers/mapping/InitMap';
import { FetchRequest } from '../../../src/common/util/FetchRequest';
import '../../resources/WebMapV5.js';
describe('openlayers_InitMap', () => {
var testDiv;
var originalTimeout;
var defaultServeRequest = 'http://supermapiserver:8090/iserver/services/map-world/rest/maps/World';
var tilesetServeRequest = 'http://supermapiserver:8090/iserver/services/map-world/rest/maps/Jinjing111';
beforeEach(() => {
testDiv = window.document.createElement('div');
testDiv.setAttribute('id', 'map');
window.document.body.appendChild(testDiv);
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
});
afterEach(() => {
window.document.body.removeChild(testDiv);
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
});
it('initialize', (done) => {
spyOn(FetchRequest, 'get').and.callFake((url) => {
if (url.indexOf('World') > -1 && url.indexOf('tilesets') === -1) {
return Promise.resolve(new Response(mapInfo_1));
}
return Promise.resolve();
});
initMap(defaultServeRequest).then(({ map }) => {
expect(map).not.toBeNull();
done();
});
});
it('viewOptionsFromMapJSON', () => {
let mapObj = JSON.parse(mapInfo_1);
const res = viewOptionsFromMapJSON(mapObj);
expect(res.center).toEqual([mapObj.center.x, mapObj.center.y]);
expect(res.zoom).not.toBeNull();
});
it('with tilesets', (done) => {
spyOn(FetchRequest, 'get').and.callFake((url) => {
if (url.indexOf('Jinjing111') > -1 && url.indexOf('tilesets') === -1) {
return Promise.resolve(new Response(mapInfo_2));
}
if (url.indexOf('Jinjing111/tilesets') > -1) {
return Promise.resolve(new Response(tilesetInfo_1));
}
return Promise.resolve();
});
initMap(tilesetServeRequest).then(({ map }) => {
expect(map).not.toBeNull();
done();
});
});
});