Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions app/lib/tind_spread/make_batch.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ module TindSpread
module MakeBatch

def self.added_headers(form_params)
added_headers = %i[336__a 852__c 540__a 980__a 982__a 982__b 982__p 991__a 902__n]
added_headers = %i[336__a 852__c 540__a 980__a 982__a 982__b 982__p 991__a]
form_params.select { |key| added_headers.include?(key) }
end

Expand All @@ -25,7 +25,8 @@ def self.make_header(header, form_params, remove_filename: true)
CSV.generate do |csv|
h = header.concat(added_headers(form_params).keys.to_a)
h << '035__a'
h << '902__d'
h << '902__n-1'
h << '902__d-1'
csv << h
end
# csv_string
Expand Down Expand Up @@ -64,6 +65,7 @@ def self.add_row(row, form_params, filename_row: false)
csv_row << value
end
csv_row << make_035(form_params[:'980__a'], row)
csv_row << form_params[:'902__n']
csv_row << Time.current.in_time_zone('Pacific Time (US & Canada)').to_date

csv << csv_row
Expand Down
13 changes: 10 additions & 3 deletions spec/lib/tind_spread/make_batch_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,14 @@
it 'generates a CSV header combining spreadsheet headers and form params' do
header = %w[Header1 Header2]
form_params = { '336__a': 'value1', '852__c': 'value2' }
expected_result = "Header1,Header2,336__a,852__c,035__a,902__d\n"
expected_result = "Header1,Header2,336__a,852__c,035__a,902__n-1,902__d-1\n"
expect(described_class.make_header(header, form_params)).to eq(expected_result)
end

it 'includes 902__n-1 and 902__d-1 so they group on the same field' do
header = %w[Header1]
form_params = { '336__a': 'value1', '902__n': 'DMZ' }
expected_result = "Header1,336__a,035__a,902__n-1,902__d-1\n"
expect(described_class.make_header(header, form_params)).to eq(expected_result)
end
end
Expand All @@ -40,9 +47,9 @@
describe '.add_row' do
it 'adds a row to the CSV string with form params and additional fields' do
row = { 'Header1' => 'Data1', 'Header2' => 'Data2' }
form_params = { '980__a': 'VTI', '336__a': 'value1', '852__c': 'value2' }
form_params = { '980__a': 'VTI', '336__a': 'value1', '852__c': 'value2', '902__n': 'DMZ' }
allow(Time).to receive(:current).and_return(Time.parse('2023-10-01 12:00:00 UTC'))
expected_result = "Data1,Data2,VTI,value1,value2,(VTI)file,2023-10-01\n"
expected_result = "Data1,Data2,VTI,value1,value2,(VTI)file,DMZ,2023-10-01\n"
allow(described_class).to receive(:get_first_fft).with(row).and_return('file.txt')
expect(described_class.add_row(row, form_params)).to eq(expected_result)
end
Expand Down
Loading