diff --git a/app/services/bulk_upload/sales/year2023/row_parser.rb b/app/services/bulk_upload/sales/year2023/row_parser.rb index 4566ee852..236edc8b2 100644 --- a/app/services/bulk_upload/sales/year2023/row_parser.rb +++ b/app/services/bulk_upload/sales/year2023/row_parser.rb @@ -854,8 +854,8 @@ private attributes["pregla"] = field_69 attributes["pregghb"] = field_70 attributes["pregother"] = field_68 - organisations_fields = %i[field_67 field_68 field_69 field_70] - attributes["pregblank"] = organisations_fields.all? { |field| attributes[field.to_s].blank? } + organisations_fields = [field_67, field_68, field_69, field_70] + attributes["pregblank"] = organisations_fields.all?(&:blank?) ? 1 : 0 attributes["disabled"] = field_76 attributes["wheel"] = field_77 diff --git a/app/services/bulk_upload/sales/year2024/row_parser.rb b/app/services/bulk_upload/sales/year2024/row_parser.rb index e01841f92..4b3618e95 100644 --- a/app/services/bulk_upload/sales/year2024/row_parser.rb +++ b/app/services/bulk_upload/sales/year2024/row_parser.rb @@ -849,8 +849,8 @@ private attributes["pregla"] = field_68 attributes["pregghb"] = field_69 attributes["pregother"] = field_67 - organisations_fields = %i[field_67 field_68 field_69 field_70] - attributes["pregblank"] = organisations_fields.all? { |field| attributes[field.to_s].blank? } + organisations_fields = [field_66, field_67, field_68, field_69] + attributes["pregblank"] = organisations_fields.all?(&:blank?) ? 1 : 0 attributes["disabled"] = field_75 attributes["wheel"] = field_76 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 8913a49d9..7fde3c99e 100644 --- a/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2023/row_parser_spec.rb @@ -959,13 +959,26 @@ RSpec.describe BulkUpload::Sales::Year2023::RowParser do end describe "#field_67 - 70" do # buyers organisations - context "when all nil" do - let(:attributes) { setup_section_params.merge(field_67: nil, field_68: nil, field_69: nil, field_70: nil) } + let(:empty_organisation_params) { setup_section_params.merge(field_67: nil, field_68: nil, field_69: nil, field_70: nil) } + + context "when all empty" do + let(:attributes) { empty_organisation_params } it "sets pregblank field" do expect(parser.log.pregblank).to be(1) end end + + %i[field_67 field_68 field_69 field_70].each do |field_number| + context "when #{field_number} present" do + let(:attributes) { empty_organisation_params.merge({ field_number => 1 }) } + + it "does not set pregblank field" do + attributes[:field_number] = 1 + expect(parser.log.pregblank).to be(0) + end + end + end end describe "soft validations" 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 68a420d44..6890a7936 100644 --- a/spec/services/bulk_upload/sales/year2024/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2024/row_parser_spec.rb @@ -965,14 +965,27 @@ RSpec.describe BulkUpload::Sales::Year2024::RowParser do end end - describe "#field_66 - 70" do # buyers organisations - context "when all nil" do - let(:attributes) { setup_section_params.merge(field_66: nil, field_67: nil, field_68: nil, field_69: nil) } + describe "#field_66 - 69" do # buyers organisations + let(:empty_organisation_params) { setup_section_params.merge(field_66: nil, field_67: nil, field_68: nil, field_69: nil) } + + context "when all empty" do + let(:attributes) { empty_organisation_params } it "sets pregblank field" do expect(parser.log.pregblank).to be(1) end end + + %i[field_66 field_67 field_68 field_69].each do |field_number| + context "when #{field_number} present" do + let(:attributes) { empty_organisation_params.merge({ field_number => 1 }) } + + it "does not set pregblank field" do + attributes[:field_number] = 1 + expect(parser.log.pregblank).to be(0) + end + end + end end describe "#field_103" do # shared ownership mortgageused