@@ -11,18 +11,17 @@ import request from 'request';
11
11
12
12
var url = GlobeParameter . spatialAnalystURL ;
13
13
var serviceFailedEventArgsSystem = null , analystEventArgsSystem = null ;
14
- var initBufferAnalystService = ( ) => {
15
- return new BufferAnalystService ( url , options ) ;
14
+ var initBufferAnalystService = ( analyzeCompleted , analyzeFailed ) => {
15
+ return new BufferAnalystService ( url , {
16
+ eventListeners : { "processCompleted" : analyzeCompleted , 'processFailed' : analyzeFailed }
17
+ } ) ;
16
18
} ;
17
19
var analyzeFailed = ( serviceFailedEventArgs ) => {
18
20
serviceFailedEventArgsSystem = serviceFailedEventArgs ;
19
21
} ;
20
- var analyzeCompleted = ( analyseEventArgs ) => {
22
+ var analyzeCompleted1 = ( analyseEventArgs ) => {
21
23
analystEventArgsSystem = analyseEventArgs ;
22
24
} ;
23
- var options = {
24
- eventListeners : { "processCompleted" : analyzeCompleted , 'processFailed' : analyzeFailed }
25
- } ;
26
25
27
26
describe ( 'BufferAnalystService' , ( ) => {
28
27
var originalTimeout ;
@@ -39,32 +38,8 @@ describe('BufferAnalystService', () => {
39
38
var resultDataset = "BufferAnalystByDS_commonTest" ;
40
39
//测试成功事件
41
40
it ( 'success:BufferAnalystService_byDatasets' , ( done ) => {
42
- var bfServiceByDatasets = initBufferAnalystService ( ) ;
43
- var resultSetting = new DataReturnOption ( {
44
- expectCount : 2000 ,
45
- dataset : resultDataset ,
46
- dataReturnMode : DataReturnMode . DATASET_ONLY ,
47
- deleteExistResultDataset : true
48
- } ) ;
49
- var dsBufferAnalystParameters = new DatasetBufferAnalystParameters ( ) ;
50
- dsBufferAnalystParameters . dataset = "Landuse_R@Jingjin" ;
51
- dsBufferAnalystParameters . filterQueryParameter . attributeFilter = "smid like 48" ;
52
- dsBufferAnalystParameters . bufferSetting . endType = BufferEndType . ROUND ;
53
- dsBufferAnalystParameters . bufferSetting . semicircleLineSegment = 5 ;
54
- dsBufferAnalystParameters . bufferSetting . leftDistance . value = 100 ;
55
- dsBufferAnalystParameters . resultSetting = resultSetting ;
56
-
57
- spyOn ( FetchRequest , 'commit' ) . and . callFake ( ( method , testUrl , params , options ) => {
58
- expect ( method ) . toBe ( "POST" ) ;
59
- expect ( testUrl ) . toBe ( url + "/datasets/Landuse_R@Jingjin/buffer.json?returnContent=true" ) ;
60
- expect ( params ) . not . toBeNull ( ) ;
61
- expect ( params ) . toContain ( "'dataReturnMode':\"DATASET_ONLY\"" ) ;
62
- expect ( options ) . not . toBeNull ( ) ;
63
- return Promise . resolve ( new Response ( JSON . stringify ( bufferAnalysisByDatasetRecordNullResultJson ) ) ) ;
64
- } ) ;
65
-
66
- bfServiceByDatasets . processAsync ( dsBufferAnalystParameters ) ;
67
- setTimeout ( ( ) => {
41
+ var analyzeCompleted = ( analyseEventArgs ) => {
42
+ analystEventArgsSystem = analyseEventArgs ;
68
43
try {
69
44
expect ( bfServiceByDatasets . mode ) . toEqual ( "datasets" ) ;
70
45
expect ( analystEventArgsSystem ) . not . toBeNull ( ) ;
@@ -86,31 +61,40 @@ describe('BufferAnalystService', () => {
86
61
dsBufferAnalystParameters . destroy ( ) ;
87
62
done ( ) ;
88
63
}
89
- } , 5000 )
90
- } ) ;
64
+ } ;
65
+ var bfServiceByDatasets = initBufferAnalystService ( analyzeCompleted , analyzeFailed ) ;
66
+ var resultSetting = new DataReturnOption ( {
67
+ expectCount : 2000 ,
68
+ dataset : resultDataset ,
69
+ dataReturnMode : DataReturnMode . DATASET_ONLY ,
70
+ deleteExistResultDataset : true
71
+ } ) ;
72
+ var dsBufferAnalystParameters = new DatasetBufferAnalystParameters ( ) ;
73
+ dsBufferAnalystParameters . dataset = "Landuse_R@Jingjin" ;
74
+ dsBufferAnalystParameters . filterQueryParameter . attributeFilter = "smid like 48" ;
75
+ dsBufferAnalystParameters . bufferSetting . endType = BufferEndType . ROUND ;
76
+ dsBufferAnalystParameters . bufferSetting . semicircleLineSegment = 5 ;
77
+ dsBufferAnalystParameters . bufferSetting . leftDistance . value = 100 ;
78
+ dsBufferAnalystParameters . resultSetting = resultSetting ;
91
79
92
- it ( 'success:BufferAnalystService_byGeometry' , ( done ) => {
93
- var bfServiceByGeometry = initBufferAnalystService ( ) ;
94
- expect ( bfServiceByGeometry ) . not . toBeNull ( ) ;
95
- expect ( bfServiceByGeometry . url ) . toEqual ( url ) ;
96
- var sourceGeometry = new Geometry . Point ( 7884.79277012316 , 5072.18865322196 ) ;
97
- var bufferSetting = new BufferSetting ( ) ;
98
- bufferSetting . endType = BufferEndType . ROUND ;
99
- bufferSetting . leftDistance . value = 300 ;
100
- bufferSetting . semicircleLineSegment = 5 ;
101
- var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters ( ) ;
102
- geometryBufferAnalystParameters . sourceGeometry = sourceGeometry ;
103
- geometryBufferAnalystParameters . bufferSetting = bufferSetting ;
104
80
spyOn ( FetchRequest , 'commit' ) . and . callFake ( ( method , testUrl , params , options ) => {
105
81
expect ( method ) . toBe ( "POST" ) ;
106
- expect ( testUrl ) . toBe ( url + "/geometry /buffer.json?returnContent=true" ) ;
82
+ expect ( testUrl ) . toBe ( url + "/datasets/Landuse_R@Jingjin /buffer.json?returnContent=true" ) ;
107
83
expect ( params ) . not . toBeNull ( ) ;
108
- expect ( params ) . toContain ( "'semicircleLineSegment':5" ) ;
84
+ // expect(params).toContain("'dataReturnMode':\"DATASET_ONLY\"");
85
+ var paramsObj = JSON . parse ( params . replace ( / ' / g, "\"" ) ) ;
86
+ expect ( paramsObj . dataReturnOption . dataReturnMode ) . toBe ( "DATASET_ONLY" ) ;
109
87
expect ( options ) . not . toBeNull ( ) ;
110
- return Promise . resolve ( new Response ( JSON . stringify ( bufferAnalysis_byGeometryResultJson ) ) ) ;
88
+ return Promise . resolve ( new Response ( JSON . stringify ( bufferAnalysisByDatasetRecordNullResultJson ) ) ) ;
111
89
} ) ;
112
- bfServiceByGeometry . processAsync ( geometryBufferAnalystParameters ) ;
113
- setTimeout ( ( ) => {
90
+
91
+ bfServiceByDatasets . processAsync ( dsBufferAnalystParameters ) ;
92
+
93
+ } ) ;
94
+
95
+ it ( 'success:BufferAnalystService_byGeometry' , ( done ) => {
96
+ var analyzeCompleted = ( analyseEventArgs ) => {
97
+ analystEventArgsSystem = analyseEventArgs ;
114
98
try {
115
99
expect ( analystEventArgsSystem . type ) . toBe ( "processCompleted" ) ;
116
100
var bfMode = analystEventArgsSystem . result . resultGeometry ;
@@ -138,18 +122,14 @@ describe('BufferAnalystService', () => {
138
122
geometryBufferAnalystParameters . destroy ( ) ;
139
123
done ( ) ;
140
124
}
141
- } , 4000 )
142
- } ) ;
143
-
144
- //测试失败事件
145
- it ( 'fail:BufferAnalystService_byGeometry' , ( done ) => {
146
- var bfServiceByGeometry = initBufferAnalystService ( ) ;
125
+ }
126
+ var bfServiceByGeometry = initBufferAnalystService ( analyzeCompleted , analyzeFailed ) ;
147
127
expect ( bfServiceByGeometry ) . not . toBeNull ( ) ;
148
128
expect ( bfServiceByGeometry . url ) . toEqual ( url ) ;
149
129
var sourceGeometry = new Geometry . Point ( 7884.79277012316 , 5072.18865322196 ) ;
150
130
var bufferSetting = new BufferSetting ( ) ;
151
131
bufferSetting . endType = BufferEndType . ROUND ;
152
- bufferSetting . leftDistance . value = - 1 ;
132
+ bufferSetting . leftDistance . value = 300 ;
153
133
bufferSetting . semicircleLineSegment = 5 ;
154
134
var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters ( ) ;
155
135
geometryBufferAnalystParameters . sourceGeometry = sourceGeometry ;
@@ -158,14 +138,20 @@ describe('BufferAnalystService', () => {
158
138
expect ( method ) . toBe ( "POST" ) ;
159
139
expect ( testUrl ) . toBe ( url + "/geometry/buffer.json?returnContent=true" ) ;
160
140
expect ( params ) . not . toBeNull ( ) ;
161
- expect ( params ) . toContain ( "'semicircleLineSegment':5" ) ;
141
+ var paramsObj = JSON . parse ( params . replace ( / ' / g, "\"" ) ) ;
142
+ expect ( paramsObj . analystParameter . semicircleLineSegment ) . toBe ( 5 ) ;
143
+ // expect(params).toContain("'semicircleLineSegment':5");
162
144
expect ( options ) . not . toBeNull ( ) ;
163
- return Promise . resolve ( new Response ( `{"succeed":false,"error":{"code":400,"errorMsg":"左缓冲距离不能小于等于0。"}}` ) ) ;
145
+ return Promise . resolve ( new Response ( JSON . stringify ( bufferAnalysis_byGeometryResultJson ) ) ) ;
164
146
} ) ;
165
147
bfServiceByGeometry . processAsync ( geometryBufferAnalystParameters ) ;
166
- setTimeout ( ( ) => {
167
- try {
148
+ } ) ;
168
149
150
+ //测试失败事件
151
+ it ( 'fail:BufferAnalystService_byGeometry' , ( done ) => {
152
+ var analyzeFailed1 = ( serviceFailedEventArgs ) => {
153
+ serviceFailedEventArgsSystem = serviceFailedEventArgs ;
154
+ try {
169
155
expect ( serviceFailedEventArgsSystem ) . not . toBeNull ( ) ;
170
156
expect ( serviceFailedEventArgsSystem . error ) . not . toBeNull ( ) ;
171
157
expect ( serviceFailedEventArgsSystem . error . errorMsg ) . not . toBeNull ( ) ;
@@ -184,7 +170,29 @@ describe('BufferAnalystService', () => {
184
170
dsBufferAnalystParameters . destroy ( ) ;
185
171
done ( ) ;
186
172
}
187
- } , 4000 )
173
+ } ;
174
+
175
+ var bfServiceByGeometry = initBufferAnalystService ( analyzeCompleted1 , analyzeFailed1 ) ;
176
+ expect ( bfServiceByGeometry ) . not . toBeNull ( ) ;
177
+ expect ( bfServiceByGeometry . url ) . toEqual ( url ) ;
178
+ var sourceGeometry = new Geometry . Point ( 7884.79277012316 , 5072.18865322196 ) ;
179
+ var bufferSetting = new BufferSetting ( ) ;
180
+ bufferSetting . endType = BufferEndType . ROUND ;
181
+ bufferSetting . leftDistance . value = - 1 ;
182
+ bufferSetting . semicircleLineSegment = 5 ;
183
+ var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters ( ) ;
184
+ geometryBufferAnalystParameters . sourceGeometry = sourceGeometry ;
185
+ geometryBufferAnalystParameters . bufferSetting = bufferSetting ;
186
+ spyOn ( FetchRequest , 'commit' ) . and . callFake ( ( method , testUrl , params , options ) => {
187
+ expect ( method ) . toBe ( "POST" ) ;
188
+ expect ( testUrl ) . toBe ( url + "/geometry/buffer.json?returnContent=true" ) ;
189
+ expect ( params ) . not . toBeNull ( ) ;
190
+ var paramsObj = JSON . parse ( params . replace ( / ' / g, "\"" ) ) ;
191
+ expect ( paramsObj . analystParameter . semicircleLineSegment ) . toBe ( 5 ) ;
192
+ expect ( options ) . not . toBeNull ( ) ;
193
+ return Promise . resolve ( new Response ( `{"succeed":false,"error":{"code":400,"errorMsg":"左缓冲距离不能小于等于0。"}}` ) ) ;
194
+ } ) ;
195
+ bfServiceByGeometry . processAsync ( geometryBufferAnalystParameters ) ;
188
196
} ) ;
189
197
} ) ;
190
198
0 commit comments