Browse Source

Correctly construct dates

pull/2447/head
Kat 2 years ago committed by kosiakkatrina
parent
commit
6017c25502
  1. 2
      app/services/bulk_upload/lettings/year2023/csv_parser.rb
  2. 2
      app/services/bulk_upload/sales/year2023/csv_parser.rb
  3. 33
      spec/services/bulk_upload/lettings/validator_spec.rb

2
app/services/bulk_upload/lettings/year2023/csv_parser.rb

@ -111,7 +111,7 @@ private
if with_headers?
Date.new(row_parsers.first.field_9.to_i + 2000, row_parsers.first.field_8.to_i, row_parsers.first.field_7.to_i)
else
Date.new(rows.first[8].to_i + 2000, rows.first[7].to_i, rows.first[6].to_i)
Date.new(rows.first[97].to_i + 2000, rows.first[96].to_i, rows.first[95].to_i)
end
end
end

2
app/services/bulk_upload/sales/year2023/csv_parser.rb

@ -111,7 +111,7 @@ private
def first_record_start_date
if with_headers?
Date.new(row_parsers.first.field_4.to_i + 2000, row_parsers.first.field_3.to_i, row_parsers.first.field_2.to_i)
Date.new(row_parsers.first.field_5.to_i + 2000, row_parsers.first.field_4.to_i, row_parsers.first.field_3.to_i)
else
Date.new(rows.first[3].to_i + 2000, rows.first[2].to_i, rows.first[1].to_i)
end

33
spec/services/bulk_upload/lettings/validator_spec.rb

@ -144,6 +144,39 @@ RSpec.describe BulkUpload::Lettings::Validator do
end
end
end
context "when uploading a 2023 template for 2024 bulk upload" do
let(:bulk_upload) { create(:bulk_upload, user:, year: 2024) }
let(:log) { build(:lettings_log, :completed, startdate: Time.zone.local(2023, 5, 6), tenancycode: "5234234234234") }
context "with no headers" do
before do
file.write(BulkUpload::LettingsLogToCsv.new(log:, line_ending: "\r\n", col_offset: 0).to_2024_csv_row)
file.close
end
it "is not valid" do
expect(validator).not_to be_valid
end
end
context "with headers" do
let(:seed) { rand }
let(:log_to_csv) { BulkUpload::LettingsLogToCsv.new(log:) }
let(:field_numbers) { log_to_csv.default_2023_field_numbers + %w[invalid_field_number] }
let(:field_values) { log_to_csv.to_2023_row + %w[value_for_invalid_field_number] }
before do
file.write(log_to_csv.custom_field_numbers_row(seed:, field_numbers:))
file.write(log_to_csv.to_custom_csv_row(seed:, field_values:))
file.rewind
end
it "is not valid" do
expect(validator).not_to be_valid
end
end
end
end
end

Loading…
Cancel
Save