@@ -233,6 +233,31 @@ describe('ParseFile', () => {
233
233
expect ( f . url ( ) ) . toBe ( 'http://files.parsetfss.com/a/progress.txt' ) ;
234
234
} ) ;
235
235
} ) ;
236
+
237
+ it ( 'can cancel file upload' , ( ) => {
238
+ const mockRequestTask = {
239
+ abort : ( ) => { } ,
240
+ } ;
241
+ CoreManager . setFileController ( {
242
+ saveFile : function ( name , payload , options ) {
243
+ options . requestTask ( mockRequestTask ) ;
244
+ return Promise . resolve ( { } ) ;
245
+ } ,
246
+ saveBase64 : ( ) => { } ,
247
+ download : ( ) => { } ,
248
+ } ) ;
249
+ const file = new ParseFile ( 'progress.txt' , new File ( [ "Parse" ] , "progress.txt" ) ) ;
250
+
251
+ jest . spyOn ( mockRequestTask , 'abort' ) ;
252
+ file . cancel ( ) ;
253
+ expect ( mockRequestTask . abort ) . toHaveBeenCalledTimes ( 0 ) ;
254
+
255
+ file . save ( ) ;
256
+
257
+ expect ( file . _requestTask ) . toEqual ( mockRequestTask ) ;
258
+ file . cancel ( ) ;
259
+ expect ( mockRequestTask . abort ) . toHaveBeenCalledTimes ( 1 ) ;
260
+ } ) ;
236
261
} ) ;
237
262
238
263
describe ( 'FileController' , ( ) => {
@@ -294,11 +319,10 @@ describe('FileController', () => {
294
319
await file . save ( ) ;
295
320
expect ( defaultController . download ) . toHaveBeenCalledTimes ( 1 ) ;
296
321
expect ( defaultController . saveBase64 ) . toHaveBeenCalledTimes ( 1 ) ;
297
- expect ( defaultController . saveBase64 . mock . calls [ 0 ] ) . toEqual ( [
298
- 'parse.png' ,
299
- { format : 'base64' , base64 : 'ParseA==' , type : 'image/png' } ,
300
- { }
301
- ] ) ;
322
+ expect ( defaultController . saveBase64 . mock . calls [ 0 ] [ 0 ] ) . toEqual ( 'parse.png' ) ;
323
+ expect ( defaultController . saveBase64 . mock . calls [ 0 ] [ 1 ] ) . toEqual ( {
324
+ format : 'base64' , base64 : 'ParseA==' , type : 'image/png'
325
+ } ) ;
302
326
spy . mockRestore ( ) ;
303
327
} ) ;
304
328
0 commit comments