Allow custom column separator for CSV parsing in uploads controller (#1470)

* Allow custom column separator for CSV parsing in uploads controller

* Add column separator parameter for CSV uploads in tests
This commit was merged in pull request #1470.
This commit is contained in:
Alex
2024-11-18 08:31:17 -08:00
committed by GitHub
parent 8b672c4062
commit 9cc9f42bdc
2 changed files with 7 additions and 4 deletions

View File

@@ -32,7 +32,7 @@ class Import::UploadsController < ApplicationController
require "csv"
begin
csv = CSV.parse(str || "", headers: true)
csv = CSV.parse(str || "", headers: true, col_sep: upload_params[:col_sep])
return false if csv.headers.empty?
return false if csv.count == 0
true

View File

@@ -14,7 +14,8 @@ class Import::UploadsControllerTest < ActionDispatch::IntegrationTest
test "uploads valid csv by copy and pasting" do
patch import_upload_url(@import), params: {
import: {
raw_file_str: file_fixture("imports/valid.csv").read
raw_file_str: file_fixture("imports/valid.csv").read,
col_sep: ","
}
}
@@ -25,7 +26,8 @@ class Import::UploadsControllerTest < ActionDispatch::IntegrationTest
test "uploads valid csv by file" do
patch import_upload_url(@import), params: {
import: {
csv_file: file_fixture_upload("imports/valid.csv")
csv_file: file_fixture_upload("imports/valid.csv"),
col_sep: ","
}
}
@@ -36,7 +38,8 @@ class Import::UploadsControllerTest < ActionDispatch::IntegrationTest
test "invalid csv cannot be uploaded" do
patch import_upload_url(@import), params: {
import: {
csv_file: file_fixture_upload("imports/invalid.csv")
csv_file: file_fixture_upload("imports/invalid.csv"),
col_sep: ","
}
}