@@ -11,18 +11,17 @@ import request from 'request';
1111
1212var url = GlobeParameter . spatialAnalystURL ;
1313var 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+ } ) ;
1618} ;
1719var analyzeFailed = ( serviceFailedEventArgs ) => {
1820 serviceFailedEventArgsSystem = serviceFailedEventArgs ;
1921} ;
20- var analyzeCompleted = ( analyseEventArgs ) => {
22+ var analyzeCompleted1 = ( analyseEventArgs ) => {
2123 analystEventArgsSystem = analyseEventArgs ;
2224} ;
23- var options = {
24- eventListeners : { "processCompleted" : analyzeCompleted , 'processFailed' : analyzeFailed }
25- } ;
2625
2726describe ( 'BufferAnalystService' , ( ) => {
2827 var originalTimeout ;
@@ -39,32 +38,8 @@ describe('BufferAnalystService', () => {
3938 var resultDataset = "BufferAnalystByDS_commonTest" ;
4039 //测试成功事件
4140 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 ;
6843 try {
6944 expect ( bfServiceByDatasets . mode ) . toEqual ( "datasets" ) ;
7045 expect ( analystEventArgsSystem ) . not . toBeNull ( ) ;
@@ -86,31 +61,40 @@ describe('BufferAnalystService', () => {
8661 dsBufferAnalystParameters . destroy ( ) ;
8762 done ( ) ;
8863 }
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 ;
9179
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 ;
10480 spyOn ( FetchRequest , 'commit' ) . and . callFake ( ( method , testUrl , params , options ) => {
10581 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" ) ;
10783 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" ) ;
10987 expect ( options ) . not . toBeNull ( ) ;
110- return Promise . resolve ( new Response ( JSON . stringify ( bufferAnalysis_byGeometryResultJson ) ) ) ;
88+ return Promise . resolve ( new Response ( JSON . stringify ( bufferAnalysisByDatasetRecordNullResultJson ) ) ) ;
11189 } ) ;
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 ;
11498 try {
11599 expect ( analystEventArgsSystem . type ) . toBe ( "processCompleted" ) ;
116100 var bfMode = analystEventArgsSystem . result . resultGeometry ;
@@ -138,18 +122,14 @@ describe('BufferAnalystService', () => {
138122 geometryBufferAnalystParameters . destroy ( ) ;
139123 done ( ) ;
140124 }
141- } , 4000 )
142- } ) ;
143-
144- //测试失败事件
145- it ( 'fail:BufferAnalystService_byGeometry' , ( done ) => {
146- var bfServiceByGeometry = initBufferAnalystService ( ) ;
125+ }
126+ var bfServiceByGeometry = initBufferAnalystService ( analyzeCompleted , analyzeFailed ) ;
147127 expect ( bfServiceByGeometry ) . not . toBeNull ( ) ;
148128 expect ( bfServiceByGeometry . url ) . toEqual ( url ) ;
149129 var sourceGeometry = new Geometry . Point ( 7884.79277012316 , 5072.18865322196 ) ;
150130 var bufferSetting = new BufferSetting ( ) ;
151131 bufferSetting . endType = BufferEndType . ROUND ;
152- bufferSetting . leftDistance . value = - 1 ;
132+ bufferSetting . leftDistance . value = 300 ;
153133 bufferSetting . semicircleLineSegment = 5 ;
154134 var geometryBufferAnalystParameters = new GeometryBufferAnalystParameters ( ) ;
155135 geometryBufferAnalystParameters . sourceGeometry = sourceGeometry ;
@@ -158,14 +138,20 @@ describe('BufferAnalystService', () => {
158138 expect ( method ) . toBe ( "POST" ) ;
159139 expect ( testUrl ) . toBe ( url + "/geometry/buffer.json?returnContent=true" ) ;
160140 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");
162144 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 ) ) ) ;
164146 } ) ;
165147 bfServiceByGeometry . processAsync ( geometryBufferAnalystParameters ) ;
166- setTimeout ( ( ) => {
167- try {
148+ } ) ;
168149
150+ //测试失败事件
151+ it ( 'fail:BufferAnalystService_byGeometry' , ( done ) => {
152+ var analyzeFailed1 = ( serviceFailedEventArgs ) => {
153+ serviceFailedEventArgsSystem = serviceFailedEventArgs ;
154+ try {
169155 expect ( serviceFailedEventArgsSystem ) . not . toBeNull ( ) ;
170156 expect ( serviceFailedEventArgsSystem . error ) . not . toBeNull ( ) ;
171157 expect ( serviceFailedEventArgsSystem . error . errorMsg ) . not . toBeNull ( ) ;
@@ -184,7 +170,29 @@ describe('BufferAnalystService', () => {
184170 dsBufferAnalystParameters . destroy ( ) ;
185171 done ( ) ;
186172 }
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 ) ;
188196 } ) ;
189197} ) ;
190198
0 commit comments