From f33929866f31eb3bda6bbea50221b4aad45a98dd Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 15 May 2023 14:43:21 +0100 Subject: [PATCH] Infer has mscharge as no if it's 0 for 22/23 --- .../bulk_upload/sales/year2022/row_parser.rb | 4 +-- .../sales/year2022/row_parser_spec.rb | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) diff --git a/app/services/bulk_upload/sales/year2022/row_parser.rb b/app/services/bulk_upload/sales/year2022/row_parser.rb index c55500eb9..d08e37ba8 100644 --- a/app/services/bulk_upload/sales/year2022/row_parser.rb +++ b/app/services/bulk_upload/sales/year2022/row_parser.rb @@ -591,8 +591,8 @@ private attributes["deposit"] = deposit attributes["cashdis"] = field_73 attributes["mrent"] = field_74 - attributes["has_mscharge"] = mscharge.present? ? 1 : 0 - attributes["mscharge"] = mscharge + attributes["mscharge"] = mscharge if mscharge&.positive? + attributes["has_mscharge"] = attributes["mscharge"].present? ? 1 : 0 attributes["grant"] = field_78 attributes["discount"] = field_79 diff --git a/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb b/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb index 1fc85ebb5..8ff75852e 100644 --- a/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb +++ b/spec/services/bulk_upload/sales/year2022/row_parser_spec.rb @@ -646,5 +646,35 @@ RSpec.describe BulkUpload::Sales::Year2022::RowParser do expect(log["wheel"]).to eq(1) end end + + context "when mscharge is given, but is set to 0 for shared ownership" do + let(:attributes) { valid_attributes.merge(field_75: "0") } + + it "does not override variables correctly" do + log = parser.log + expect(log["has_mscharge"]).to eq(0) # no + expect(log["mscharge"]).to be_nil + end + end + + context "when mscharge is given, but is set to 0 for discounted ownership" do + let(:attributes) { valid_attributes.merge(field_113: "2", field_76: "8", field_83: "0") } + + it "does not override variables correctly" do + log = parser.log + expect(log["has_mscharge"]).to eq(0) # no + expect(log["mscharge"]).to be_nil + end + end + + context "when mscharge is given, but is set to 0 for outright sale" do + let(:attributes) { valid_attributes.merge(field_113: "3", field_91: "0") } + + it "does not override variables correctly" do + log = parser.log + expect(log["has_mscharge"]).to eq(0) # no + expect(log["mscharge"]).to be_nil + end + end end end