fix: respect SURE_IMPORT_MAX_NDJSON_SIZE_MB in Sure import GUI upload (#3111)

The GUI upload paths (imports_controller#create_sure_import and
Import::UploadsController#update_sure_import_upload) checked file
size against the hardcoded SureImport::MAX_NDJSON_SIZE constant
instead of SureImport.max_ndjson_size, so self-hosted admins raising
SURE_IMPORT_MAX_NDJSON_SIZE_MB had no effect on the GUI — only the
API upload paths honored it. Removes the now-unused constant.

Fixes #3010.

Co-authored-by: Gerald <248542187+gfr-free@users.noreply.github.com>
This commit is contained in:
GFR
2026-08-22 04:33:54 +02:00
committed by GitHub
co-authored by Gerald
parent da30477775
commit 07ce130405
5 changed files with 46 additions and 5 deletions
@@ -47,6 +47,25 @@ class Import::UploadsControllerTest < ActionDispatch::IntegrationTest
assert_select 'select[name="import[account_id]"] option', text: "Plaid Depository Account", count: 0
end
test "respects SURE_IMPORT_MAX_NDJSON_SIZE_MB when uploading Sure import file (#3010)" do
configured_limit = 2.megabytes
SureImport.stubs(:max_ndjson_size).returns(configured_limit)
sure_import = imports(:sure)
oversized_file = Rack::Test::UploadedFile.new(
StringIO.new("x" * (configured_limit + 1)),
"application/x-ndjson",
original_filename: "all.ndjson"
)
patch import_upload_url(sure_import), params: {
import: { ndjson_file: oversized_file }
}
assert_response :unprocessable_entity
assert_equal I18n.t("imports.create.file_too_large", max_size: configured_limit / 1.megabyte), flash[:alert]
end
test "invalid csv cannot be uploaded" do
patch import_upload_url(@import), params: {
import: {