Skip to content

Commit a2084ad

Browse files
add ut
1 parent 9fb4aad commit a2084ad

15 files changed

+458
-3
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { AttachmentsParameters } from '../../../src/common/iServer';
2+
describe('AttachmentsParameters', () => {
3+
it('constructor destroy', () => {
4+
var option = {
5+
dataSourceName: 'testDataSourceName',
6+
dataSetName: 'testDataSetName',
7+
featureId: '1',
8+
};
9+
var parametersNull = new AttachmentsParameters();
10+
expect(parametersNull).not.toBeNull();
11+
var parameter = new AttachmentsParameters(option);
12+
expect(parameter.dataSourceName).toEqual('testDataSourceName');
13+
expect(parameter.dataSetName).toEqual('testDataSetName');
14+
expect(parameter.featureId).toEqual('1');
15+
parameter.destroy();
16+
expect(parameter.dataSourceName).toBeNull();
17+
expect(parameter.dataSetName).toBeNull();
18+
expect(parameter.featureId).toBeNull();
19+
});
20+
});
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import { EditAttachmentsParameters } from '../../../src/common/iServer';
2+
describe('EditAttachmentsParameters', () => {
3+
it('constructor destroy', () => {
4+
var option = {
5+
file: new File(['file1 contents'], 'file1.txt', { type: 'text/plain' }),
6+
IDs: [1,2],
7+
editType: 'ADD',
8+
};
9+
var parametersNull = new EditAttachmentsParameters();
10+
expect(parametersNull).not.toBeNull();
11+
var parameter = new EditAttachmentsParameters(option);
12+
expect(parameter.file).not.toBeNull();
13+
expect(parameter.IDs).toEqual([1,2]);
14+
expect(parameter.editType).toEqual('ADD');
15+
parameter.destroy();
16+
expect(parameter.file).toBeNull();
17+
expect(parameter.IDs).toBeNull();
18+
expect(parameter.editType).toBeNull();
19+
});
20+
});
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import { FeatureService } from '../../../src/leaflet/services/FeatureService';
2+
import { EditAttachmentsParameters } from '../../../src/common/iServer/EditAttachmentsParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
4+
5+
var url = GlobeParameter.dataServiceURL;
6+
describe('leaflet_GetFeatureAttachments', () => {
7+
var originalTimeout;
8+
beforeEach(() => {
9+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
11+
});
12+
afterEach(() => {
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
14+
});
15+
16+
it('incomplete parameters', done => {
17+
let params = new EditAttachmentsParameters({
18+
dataSourceName: "World",
19+
dataSetName: "Countries",
20+
});
21+
var editFeatureAttachmentsService = new FeatureService(url, {});
22+
spyOn(FetchRequest, 'commit');
23+
editFeatureAttachmentsService.editFeatureAttachments(params);
24+
expect(FetchRequest.commit).not.toHaveBeenCalled();
25+
done();
26+
});
27+
it('complete parameters and add a file', done => {
28+
let file = new File(['file1 contents'], 'file1.txt', { type: 'text/plain' });
29+
let params = new EditAttachmentsParameters({
30+
dataSourceName: "World",
31+
dataSetName: "Countries",
32+
featureId: 1,
33+
file:file
34+
});
35+
let myService = new FeatureService(url)
36+
spyOn(FetchRequest, 'commit').and.callFake((method, url, params, options) => {
37+
expect(params.get('file') instanceof File).toBeTruthy();
38+
expect(method).toEqual('POST');
39+
expect(url).toEqual('http://localhost:9876/iserver/services/data-world/rest/data/datasources/World/datasets/Countries/features/1/attachments');
40+
expect(params).not.toBeNull();
41+
expect(options).not.toBeNull();
42+
return Promise.resolve(
43+
new Response(`{"size":56,"name":"1.txt","id":-1403040659,"contentType":"text/plain"}`)
44+
)
45+
})
46+
myService.editFeatureAttachments(params).then(res => {
47+
let serviceResult = res;
48+
expect(serviceResult.result.succeed).toBeTruthy();
49+
expect(serviceResult.result.name).toBe('1.txt');
50+
expect(serviceResult.result.contentType).toBe('text/plain');
51+
expect(serviceResult.result.size).toBe(56);
52+
done();
53+
});
54+
})
55+
});
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { FeatureService } from '../../../src/leaflet/services/FeatureService';
2+
import { AttachmentsParameters } from '../../../src/common/iServer/AttachmentsParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
4+
5+
var url = GlobeParameter.dataServiceURL;
6+
describe('leaflet_GetFeatureAttachments', () => {
7+
var originalTimeout;
8+
beforeEach(() => {
9+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
11+
});
12+
afterEach(() => {
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
14+
});
15+
16+
it('incomplete parameters', done => {
17+
let params = new AttachmentsParameters({
18+
dataSourceName: "World"
19+
});
20+
var getFeatureAttachmentsService = new FeatureService(url, {});
21+
spyOn(FetchRequest, 'commit');
22+
getFeatureAttachmentsService.getFeatureAttachments(params);
23+
expect(FetchRequest.commit).not.toHaveBeenCalled();
24+
done();
25+
});
26+
it('complete parameters', done => {
27+
let params = new AttachmentsParameters({
28+
dataSourceName: "World",
29+
dataSetName: "Countries",
30+
featureId: 1,
31+
});
32+
let resInfo = [{ "size": 56, "name": "1.txt", "id": 1966180689, "contentType": "text/plain" }, { "size": 34991, "name": "test.png", "id": 1590279732, "contentType": "image/png" }];
33+
let myService = new FeatureService(url)
34+
spyOn(FetchRequest, 'commit').and.callFake((method, url, params, options) => {
35+
expect(method).toEqual('GET');
36+
expect(params).toBeUndefined();
37+
expect(options).not.toBeNull();
38+
expect(url).toEqual('http://localhost:9876/iserver/services/data-world/rest/data/datasources/World/datasets/Countries/features/1/attachments');
39+
return Promise.resolve(new Response(JSON.stringify(resInfo)));
40+
})
41+
myService.getFeatureAttachments(params).then(res => {
42+
let serviceResult = res;
43+
expect(serviceResult.result.length).toBe(2);
44+
done();
45+
});
46+
})
47+
});
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import { FeatureService } from '../../../src/mapboxgl/services/FeatureService';
2+
import { EditAttachmentsParameters } from '../../../src/common/iServer/EditAttachmentsParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
4+
5+
var url = GlobeParameter.dataServiceURL;
6+
describe('mapboxgl_GetFeatureAttachments', () => {
7+
var originalTimeout;
8+
beforeEach(() => {
9+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
11+
});
12+
afterEach(() => {
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
14+
});
15+
16+
it('incomplete parameters', done => {
17+
let params = new EditAttachmentsParameters({
18+
dataSourceName: "World",
19+
dataSetName: "Countries",
20+
});
21+
var editFeatureAttachmentsService = new FeatureService(url, {});
22+
spyOn(FetchRequest, 'commit');
23+
editFeatureAttachmentsService.editFeatureAttachments(params);
24+
expect(FetchRequest.commit).not.toHaveBeenCalled();
25+
done();
26+
});
27+
it('complete parameters and add a file', done => {
28+
let file = new File(['file1 contents'], 'file1.txt', { type: 'text/plain' });
29+
let params = new EditAttachmentsParameters({
30+
dataSourceName: "World",
31+
dataSetName: "Countries",
32+
featureId: 1,
33+
file:file
34+
});
35+
let myService = new FeatureService(url)
36+
spyOn(FetchRequest, 'commit').and.callFake((method, url, params, options) => {
37+
expect(params.get('file') instanceof File).toBeTruthy();
38+
expect(method).toEqual('POST');
39+
expect(url).toEqual('http://localhost:9876/iserver/services/data-world/rest/data/datasources/World/datasets/Countries/features/1/attachments');
40+
expect(params).not.toBeNull();
41+
expect(options).not.toBeNull();
42+
return Promise.resolve(
43+
new Response(`{"size":56,"name":"1.txt","id":-1403040659,"contentType":"text/plain"}`)
44+
)
45+
})
46+
myService.editFeatureAttachments(params).then(res => {
47+
let serviceResult = res;
48+
expect(serviceResult.result.succeed).toBeTruthy();
49+
expect(serviceResult.result.name).toBe('1.txt');
50+
expect(serviceResult.result.contentType).toBe('text/plain');
51+
expect(serviceResult.result.size).toBe(56);
52+
done();
53+
});
54+
})
55+
});
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { FeatureService } from '../../../src/mapboxgl/services/FeatureService';
2+
import { AttachmentsParameters } from '../../../src/common/iServer/AttachmentsParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
4+
5+
var url = GlobeParameter.dataServiceURL;
6+
describe('mapboxgl_GetFeatureAttachments', () => {
7+
var originalTimeout;
8+
beforeEach(() => {
9+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
11+
});
12+
afterEach(() => {
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
14+
});
15+
16+
it('incomplete parameters', done => {
17+
let params = new AttachmentsParameters({
18+
dataSourceName: "World"
19+
});
20+
var getFeatureAttachmentsService = new FeatureService(url, {});
21+
spyOn(FetchRequest, 'commit');
22+
getFeatureAttachmentsService.getFeatureAttachments(params);
23+
expect(FetchRequest.commit).not.toHaveBeenCalled();
24+
done();
25+
});
26+
it('complete parameters', done => {
27+
let params = new AttachmentsParameters({
28+
dataSourceName: "World",
29+
dataSetName: "Countries",
30+
featureId: 1,
31+
});
32+
let resInfo = [{ "size": 56, "name": "1.txt", "id": 1966180689, "contentType": "text/plain" }, { "size": 34991, "name": "test.png", "id": 1590279732, "contentType": "image/png" }];
33+
let myService = new FeatureService(url)
34+
spyOn(FetchRequest, 'commit').and.callFake((method, url, params, options) => {
35+
expect(method).toEqual('GET');
36+
expect(params).toBeUndefined();
37+
expect(options).not.toBeNull();
38+
expect(url).toEqual('http://localhost:9876/iserver/services/data-world/rest/data/datasources/World/datasets/Countries/features/1/attachments');
39+
return Promise.resolve(new Response(JSON.stringify(resInfo)));
40+
})
41+
myService.getFeatureAttachments(params).then(res => {
42+
let serviceResult = res;
43+
expect(serviceResult.result.length).toBe(2);
44+
done();
45+
});
46+
})
47+
});
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
import { FeatureService } from '../../../src/maplibregl/services/FeatureService';
2+
import { EditAttachmentsParameters } from '../../../src/common/iServer/EditAttachmentsParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
4+
5+
var url = GlobeParameter.dataServiceURL;
6+
describe('maplibregl_GetFeatureAttachments', () => {
7+
var originalTimeout;
8+
beforeEach(() => {
9+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
11+
});
12+
afterEach(() => {
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
14+
});
15+
16+
it('incomplete parameters', done => {
17+
let params = new EditAttachmentsParameters({
18+
dataSourceName: "World",
19+
dataSetName: "Countries",
20+
});
21+
var editFeatureAttachmentsService = new FeatureService(url, {});
22+
spyOn(FetchRequest, 'commit');
23+
editFeatureAttachmentsService.editFeatureAttachments(params);
24+
expect(FetchRequest.commit).not.toHaveBeenCalled();
25+
done();
26+
});
27+
it('complete parameters and add a file', done => {
28+
let file = new File(['file1 contents'], 'file1.txt', { type: 'text/plain' });
29+
let params = new EditAttachmentsParameters({
30+
dataSourceName: "World",
31+
dataSetName: "Countries",
32+
featureId: 1,
33+
file:file
34+
});
35+
let myService = new FeatureService(url)
36+
spyOn(FetchRequest, 'commit').and.callFake((method, url, params, options) => {
37+
expect(params.get('file') instanceof File).toBeTruthy();
38+
expect(method).toEqual('POST');
39+
expect(url).toEqual('http://localhost:9876/iserver/services/data-world/rest/data/datasources/World/datasets/Countries/features/1/attachments');
40+
expect(params).not.toBeNull();
41+
expect(options).not.toBeNull();
42+
return Promise.resolve(
43+
new Response(`{"size":56,"name":"1.txt","id":-1403040659,"contentType":"text/plain"}`)
44+
)
45+
})
46+
myService.editFeatureAttachments(params).then(res => {
47+
let serviceResult = res;
48+
expect(serviceResult.result.succeed).toBeTruthy();
49+
expect(serviceResult.result.name).toBe('1.txt');
50+
expect(serviceResult.result.contentType).toBe('text/plain');
51+
expect(serviceResult.result.size).toBe(56);
52+
done();
53+
});
54+
})
55+
});
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
import { FeatureService } from '../../../src/maplibregl/services/FeatureService';
2+
import { AttachmentsParameters } from '../../../src/common/iServer/AttachmentsParameters';
3+
import { FetchRequest } from '../../../src/common/util/FetchRequest';
4+
5+
var url = GlobeParameter.dataServiceURL;
6+
describe('maplibregl_GetFeatureAttachments', () => {
7+
var originalTimeout;
8+
beforeEach(() => {
9+
originalTimeout = jasmine.DEFAULT_TIMEOUT_INTERVAL;
10+
jasmine.DEFAULT_TIMEOUT_INTERVAL = 50000;
11+
});
12+
afterEach(() => {
13+
jasmine.DEFAULT_TIMEOUT_INTERVAL = originalTimeout;
14+
});
15+
16+
it('incomplete parameters', done => {
17+
let params = new AttachmentsParameters({
18+
dataSourceName: "World"
19+
});
20+
var getFeatureAttachmentsService = new FeatureService(url, {});
21+
spyOn(FetchRequest, 'commit');
22+
getFeatureAttachmentsService.getFeatureAttachments(params);
23+
expect(FetchRequest.commit).not.toHaveBeenCalled();
24+
done();
25+
});
26+
it('complete parameters', done => {
27+
let params = new AttachmentsParameters({
28+
dataSourceName: "World",
29+
dataSetName: "Countries",
30+
featureId: 1,
31+
});
32+
let resInfo = [{ "size": 56, "name": "1.txt", "id": 1966180689, "contentType": "text/plain" }, { "size": 34991, "name": "test.png", "id": 1590279732, "contentType": "image/png" }];
33+
let myService = new FeatureService(url)
34+
spyOn(FetchRequest, 'commit').and.callFake((method, url, params, options) => {
35+
expect(method).toEqual('GET');
36+
expect(params).toBeUndefined();
37+
expect(options).not.toBeNull();
38+
expect(url).toEqual('http://localhost:9876/iserver/services/data-world/rest/data/datasources/World/datasets/Countries/features/1/attachments');
39+
return Promise.resolve(new Response(JSON.stringify(resInfo)));
40+
})
41+
myService.getFeatureAttachments(params).then(res => {
42+
let serviceResult = res;
43+
expect(serviceResult.result.length).toBe(2);
44+
done();
45+
});
46+
})
47+
});

0 commit comments

Comments
 (0)