From 22522fb90737f1024218df473de1b5a76e61e52f Mon Sep 17 00:00:00 2001 From: Rachael Booth Date: Thu, 27 Jun 2024 17:52:15 +0100 Subject: [PATCH] CLDC-3265: Duplicate whitespace row fix to sales BU (#2481) * CLDC-3265: Duplicate whitespace row fix to sales BU * CLDC-3265: Fix bu test that accidentally had whitespace only row --- .../bulk_upload/sales/year2023/row_parser.rb | 1 + .../bulk_upload/sales/year2024/row_parser.rb | 1 + .../bulk_upload/sales/year2023/row_parser_spec.rb | 11 +++++++++++ .../bulk_upload/sales/year2024/row_parser_spec.rb | 13 ++++++++++++- 4 files changed, 25 insertions(+), 1 deletion(-) diff --git a/app/services/bulk_upload/sales/year2023/row_parser.rb b/app/services/bulk_upload/sales/year2023/row_parser.rb index 28e7f1e3b..b122a02dc 100644 --- a/app/services/bulk_upload/sales/year2023/row_parser.rb +++ b/app/services/bulk_upload/sales/year2023/row_parser.rb @@ -483,6 +483,7 @@ class BulkUpload::Sales::Year2023::RowParser .to_hash .reject { |k, _| %w[bulk_upload block_log_creation].include?(k) } .values + .reject(&:blank?) .compact .empty? end diff --git a/app/services/bulk_upload/sales/year2024/row_parser.rb b/app/services/bulk_upload/sales/year2024/row_parser.rb index 0336a83ec..68f638e17 100644 --- a/app/services/bulk_upload/sales/year2024/row_parser.rb +++ b/app/services/bulk_upload/sales/year2024/row_parser.rb @@ -488,6 +488,7 @@ class BulkUpload::Sales::Year2024::RowParser .to_hash .reject { |k, _| %w[bulk_upload block_log_creation].include?(k) } .values + .reject(&:blank?) .compact .empty? end diff --git a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb index 7a936adf7..6e193978e 100644 --- a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb @@ -133,6 +133,17 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do expect(parser).not_to be_blank_row end end + + context "when the only populated fields are empty strings or whitespace" do + before do + parser.field_6 = " " + parser.field_19 = "" + end + + it "returns true" do + expect(parser).to be_blank_row + end + end end describe "purchaser_code" do diff --git a/spec/services/bulk_upload/sales/year2024/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2024/row_parser_spec.rb index abe47688d..115995f3e 100644 --- a/spec/services/bulk_upload/sales/year2024/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2024/row_parser_spec.rb @@ -141,6 +141,17 @@ RSpec.describe BulkUpload::Sales::Year2024::RowParser do expect(parser).not_to be_blank_row end end + + context "when the only populated fields are empty strings or whitespace" do + before do + parser.field_6 = " " + parser.field_19 = "" + end + + it "returns true" do + expect(parser).to be_blank_row + end + end end describe "purchaser_code" do @@ -1871,7 +1882,7 @@ RSpec.describe BulkUpload::Sales::Year2024::RowParser do end context "when blank" do - let(:attributes) { { bulk_upload:, field_2: "" } } + let(:attributes) { { bulk_upload:, field_2: "", field_6: "not blank" } } it "is not permitted as setup error" do parser.valid?