mirror of
https://github.com/maybe-finance/maybe.git
synced 2025-07-22 14:49:38 +02:00
Fix CSV import preview crash on empty values (#756)
This commit is contained in:
parent
1bbfdee463
commit
31ef3d85f5
3 changed files with 14 additions and 1 deletions
|
@ -1,6 +1,6 @@
|
||||||
class Import::Csv
|
class Import::Csv
|
||||||
def self.parse_csv(csv_str)
|
def self.parse_csv(csv_str)
|
||||||
CSV.parse((csv_str || "").strip, headers: true, converters: [ ->(str) { str.strip } ])
|
CSV.parse((csv_str || "").strip, headers: true, converters: [ ->(str) { str&.strip } ])
|
||||||
end
|
end
|
||||||
|
|
||||||
def self.create_with_field_mappings(raw_csv_str, fields, field_mappings)
|
def self.create_with_field_mappings(raw_csv_str, fields, field_mappings)
|
||||||
|
|
|
@ -36,6 +36,11 @@ class Import::CsvTest < ActiveSupport::TestCase
|
||||||
assert_not invalid_csv.valid?
|
assert_not invalid_csv.valid?
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "csv with additional columns and empty values" do
|
||||||
|
csv = Import::Csv.new valid_csv_with_extra_column
|
||||||
|
assert csv.valid?
|
||||||
|
end
|
||||||
|
|
||||||
test "updating a cell returns a copy of the original csv" do
|
test "updating a cell returns a copy of the original csv" do
|
||||||
original_date = "2024-01-01"
|
original_date = "2024-01-01"
|
||||||
new_date = "2024-01-01"
|
new_date = "2024-01-01"
|
||||||
|
|
|
@ -14,6 +14,14 @@ module ImportTestHelper
|
||||||
ROWS
|
ROWS
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def valid_csv_with_extra_column
|
||||||
|
<<-ROWS
|
||||||
|
date,name,category,"optional id",amount
|
||||||
|
2024-01-01,Starbucks drink,Food,1234,20
|
||||||
|
2024-01-02,Amazon stuff,Shopping,,200
|
||||||
|
ROWS
|
||||||
|
end
|
||||||
|
|
||||||
def malformed_csv_str
|
def malformed_csv_str
|
||||||
<<-ROWS
|
<<-ROWS
|
||||||
name,age
|
name,age
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue