diff --git a/app/lib/tind_spread/make_batch.rb b/app/lib/tind_spread/make_batch.rb index e9f8bb7d..30003aa3 100644 --- a/app/lib/tind_spread/make_batch.rb +++ b/app/lib/tind_spread/make_batch.rb @@ -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 @@ -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 @@ -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 diff --git a/spec/lib/tind_spread/make_batch_spec.rb b/spec/lib/tind_spread/make_batch_spec.rb index eae1df45..ef01f754 100644 --- a/spec/lib/tind_spread/make_batch_spec.rb +++ b/spec/lib/tind_spread/make_batch_spec.rb @@ -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 @@ -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