diff --git a/app/services/bulk_upload/sales/year2026/row_parser.rb b/app/services/bulk_upload/sales/year2026/row_parser.rb index 6d812f324..149774dbd 100644 --- a/app/services/bulk_upload/sales/year2026/row_parser.rb +++ b/app/services/bulk_upload/sales/year2026/row_parser.rb @@ -956,7 +956,7 @@ private attributes["gender_same_as_sex6"] = field_68 attributes["gender_description6"] = field_69 - attributes["newservicecharges"] = field_126.to_d if field_126.present? && field_126 != "R" && field_126.to_d.positive? + attributes["newservicecharges"] = field_126.to_d if field_126.present? && field_126 != "R" && field_126.match?(SERVICE_CHARGE_FORMAT) attributes["hasservicechargeschanged"] = attributes["newservicecharges"].present? ? 1 : 2 if field_126.present? && field_126.match?(SERVICE_CHARGE_FORMAT) attributes["relat2"] = relationship_from_is_partner(field_37) @@ -1419,9 +1419,7 @@ private end end - # Will send a "Bulk upload failed" email rather than an "Errors in bulk upload" email. - # The body of the "Bulk upload failed" email says there are errors in the setup section, - # so only use this method for setup section errors. + # Will send a "Bulk upload failed" email rather than an "Errors in bulk upload" email def block_log_creation! self.block_log_creation = true end diff --git a/spec/services/bulk_upload/sales/year2026/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2026/row_parser_spec.rb index 52b29ef1f..5f8d75024 100644 --- a/spec/services/bulk_upload/sales/year2026/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2026/row_parser_spec.rb @@ -1997,10 +1997,10 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do context "when newservicecharges is set to 0" do let(:attributes) { valid_attributes.merge(field_126: "0") } - it "does not set newservicecharges and sets hasservicechargeschanged to no" do + it "sets newservicecharges to 0 and hasservicechargeschanged to yes" do log = parser.log - expect(log["newservicecharges"]).to be_nil - expect(log["hasservicechargeschanged"]).to eq(2) + expect(log["newservicecharges"]).to eq(0) + expect(log["hasservicechargeschanged"]).to eq(1) end end @@ -2022,7 +2022,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do expect(parser.errors[:field_126]).to include(I18n.t("validations.sales.2026.bulk_upload.newservicecharges.invalid")) end - it "does not set hasservicechargeschanged" do + it "does not set newservicecharges or hasservicechargeschanged" do log = parser.log expect(log["newservicecharges"]).to be_nil expect(log["hasservicechargeschanged"]).to be_nil @@ -2037,7 +2037,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do expect(parser.errors[:field_125]).to include(I18n.t("validations.sales.2026.bulk_upload.mscharge.invalid")) end - it "does not set has_mscharge" do + it "does not set mscharge or has_mscharge" do log = parser.log expect(log["mscharge"]).to be_nil expect(log["has_mscharge"]).to be_nil @@ -2047,7 +2047,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do context "when mscharge is blank for staircasing" do let(:attributes) { valid_attributes.merge(field_125: nil) } - it "leaves has_mscharge nil" do + it "leaves mscharge and has_mscharge nil" do log = parser.log expect(log["mscharge"]).to be_nil expect(log["has_mscharge"]).to be_nil