From 2974bcddd7fd7f634a2c99fe3d63512752fd3d74 Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Mon, 21 Oct 2024 10:58:53 +0100 Subject: [PATCH] CLDC-3330: Use partial postcodes in bulk upload (#2692) * CLDC-3330: Use partial postcodes in bulk upload * Adjust key address fields provided validations * Use join to only insert space when both parts of postcode are provided --- app/services/bulk_upload/lettings/year2024/row_parser.rb | 4 ++-- app/services/bulk_upload/sales/year2024/row_parser.rb | 4 ++-- .../bulk_upload/lettings/year2024/row_parser_spec.rb | 8 ++++++++ 3 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/services/bulk_upload/lettings/year2024/row_parser.rb b/app/services/bulk_upload/lettings/year2024/row_parser.rb index a40094e26..a7eb96c61 100644 --- a/app/services/bulk_upload/lettings/year2024/row_parser.rb +++ b/app/services/bulk_upload/lettings/year2024/row_parser.rb @@ -618,7 +618,7 @@ private end def key_address_fields_provided? - field_17.present? && field_19.present? && field_21.present? && field_22.present? + field_17.present? && field_19.present? && postcode_full.present? end def validate_address_fields @@ -1355,7 +1355,7 @@ private end def postcode_full - "#{field_21} #{field_22}" if field_21 && field_22 + [field_21, field_22].compact_blank.join(" ") if field_21 || field_22 end def owning_organisation diff --git a/app/services/bulk_upload/sales/year2024/row_parser.rb b/app/services/bulk_upload/sales/year2024/row_parser.rb index 44e81786b..fbc99ba02 100644 --- a/app/services/bulk_upload/sales/year2024/row_parser.rb +++ b/app/services/bulk_upload/sales/year2024/row_parser.rb @@ -616,7 +616,7 @@ private end def key_address_fields_provided? - field_23.present? && field_25.present? && field_27.present? && field_28.present? + field_23.present? && field_25.present? && postcode_full.present? end def validate_address_fields @@ -1074,7 +1074,7 @@ private end def postcode_full - "#{field_27} #{field_28}" if field_27 && field_28 + [field_27, field_28].compact_blank.join(" ") if field_27 || field_28 end def ppostcode_full diff --git a/spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb b/spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb index 596712162..2e4c82635 100644 --- a/spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb +++ b/spec/services/bulk_upload/lettings/year2024/row_parser_spec.rb @@ -2718,6 +2718,14 @@ RSpec.describe BulkUpload::Lettings::Year2024::RowParser do it "strips whitespace" do expect(parser.log.postcode_full).to eql("EC1N 2TD") end + + context "when a partial postcode is provided" do + let(:attributes) { { bulk_upload:, field_4: 1, field_21: "EC1N", field_22: "" } } + + it "is set to the partial value" do + expect(parser.log.postcode_full).to eql("EC1N") + end + end end describe "#la" do