Browse Source

CLDC-4297: allow 0 for newservicecharges

pull/3240/head
Nat Dean-Lewis 2 months ago
parent
commit
86354a2fef
  1. 6
      app/services/bulk_upload/sales/year2026/row_parser.rb
  2. 12
      spec/services/bulk_upload/sales/year2026/row_parser_spec.rb

6
app/services/bulk_upload/sales/year2026/row_parser.rb

@ -956,7 +956,7 @@ private
attributes["gender_same_as_sex6"] = field_68 attributes["gender_same_as_sex6"] = field_68
attributes["gender_description6"] = field_69 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["hasservicechargeschanged"] = attributes["newservicecharges"].present? ? 1 : 2 if field_126.present? && field_126.match?(SERVICE_CHARGE_FORMAT)
attributes["relat2"] = relationship_from_is_partner(field_37) attributes["relat2"] = relationship_from_is_partner(field_37)
@ -1419,9 +1419,7 @@ private
end end
end end
# Will send a "Bulk upload failed" email rather than an "Errors in bulk upload" email. # 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.
def block_log_creation! def block_log_creation!
self.block_log_creation = true self.block_log_creation = true
end end

12
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 context "when newservicecharges is set to 0" do
let(:attributes) { valid_attributes.merge(field_126: "0") } 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 log = parser.log
expect(log["newservicecharges"]).to be_nil expect(log["newservicecharges"]).to eq(0)
expect(log["hasservicechargeschanged"]).to eq(2) expect(log["hasservicechargeschanged"]).to eq(1)
end end
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")) expect(parser.errors[:field_126]).to include(I18n.t("validations.sales.2026.bulk_upload.newservicecharges.invalid"))
end end
it "does not set hasservicechargeschanged" do it "does not set newservicecharges or hasservicechargeschanged" do
log = parser.log log = parser.log
expect(log["newservicecharges"]).to be_nil expect(log["newservicecharges"]).to be_nil
expect(log["hasservicechargeschanged"]).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")) expect(parser.errors[:field_125]).to include(I18n.t("validations.sales.2026.bulk_upload.mscharge.invalid"))
end end
it "does not set has_mscharge" do it "does not set mscharge or has_mscharge" do
log = parser.log log = parser.log
expect(log["mscharge"]).to be_nil expect(log["mscharge"]).to be_nil
expect(log["has_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 context "when mscharge is blank for staircasing" do
let(:attributes) { valid_attributes.merge(field_125: nil) } 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 log = parser.log
expect(log["mscharge"]).to be_nil expect(log["mscharge"]).to be_nil
expect(log["has_mscharge"]).to be_nil expect(log["has_mscharge"]).to be_nil

Loading…
Cancel
Save