diff --git a/frontend_tests/node_tests/upload.js b/frontend_tests/node_tests/upload.js index 81e198ea7a..32c4a2165d 100644 --- a/frontend_tests/node_tests/upload.js +++ b/frontend_tests/node_tests/upload.js @@ -146,7 +146,7 @@ run_test('show_error_message', () => { run_test('upload_files', () => { let uppy_cancel_all_called = false; - const files = [ + let files = [ { name: "budapest.png", type: "image/png", @@ -212,6 +212,25 @@ run_test('upload_files', () => { assert(compose_ui_autosize_textarea_called); assert(uppy_add_file_called); + files = [ + { + name: "budapest.png", + type: "image/png", + }, + { + name: "prague.png", + type: "image/png", + }, + ]; + let add_file_counter = 0; + uppy.addFile = (file) => { + assert.equal(file.name, "budapest.png"); + add_file_counter += 1; + throw Error(); + }; + upload.upload_files(uppy, config, files); + assert.equal(add_file_counter, 1); + global.patch_builtin("setTimeout", (func) => { func(); }); diff --git a/static/js/upload.js b/static/js/upload.js index 4ae627fc0f..70f01c1c28 100644 --- a/static/js/upload.js +++ b/static/js/upload.js @@ -119,6 +119,7 @@ exports.upload_files = function (uppy, config, files) { }); } catch (error) { // Errors are handled by info-visible and upload-error event callbacks. + break; } } };