diff --git a/app/services/bulk_upload/lettings/row_parser.rb b/app/services/bulk_upload/lettings/row_parser.rb index 42172baea..907ed3a02 100644 --- a/app/services/bulk_upload/lettings/row_parser.rb +++ b/app/services/bulk_upload/lettings/row_parser.rb @@ -353,6 +353,8 @@ private majorrepairs: %i[field_92 field_93 field_94], mrcdate: %i[field_92 field_93 field_94], + + voiddate: %i[field_89 field_90 field_91], } end @@ -558,11 +560,18 @@ private attributes["propcode"] = field_100 attributes["majorrepairs"] = majorrepairs + attributes["mrcdate"] = mrcdate + attributes["voiddate"] = voiddate + attributes end + def voiddate + Date.new(field_91 + 2000, field_90, field_89) if field_91.present? && field_90.present? && field_89.present? + end + def majorrepairs mrcdate.present? ? 1 : 0 end diff --git a/spec/services/bulk_upload/lettings/row_parser_spec.rb b/spec/services/bulk_upload/lettings/row_parser_spec.rb index bbb51ddb9..6bf826aae 100644 --- a/spec/services/bulk_upload/lettings/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/row_parser_spec.rb @@ -663,5 +663,13 @@ RSpec.describe BulkUpload::Lettings::RowParser do end end end + + describe "#voiddate" do + let(:attributes) { { bulk_upload:, field_89: "13", field_90: "12", field_91: "22" } } + + it "sets value given" do + expect(parser.log.voiddate).to eq(Date.new(2022, 12, 13)) + end + end end end