From 449e388e1243d58d1ce5a7c27d13df5464ab036b Mon Sep 17 00:00:00 2001 From: Kat Date: Thu, 23 Feb 2023 14:34:01 +0000 Subject: [PATCH] set savings to not known if not given --- .../imports/sales_logs_import_service.rb | 1 + .../imports/sales_logs_import_service_spec.rb | 35 ++++++++++++++++++- 2 files changed, 35 insertions(+), 1 deletion(-) diff --git a/app/services/imports/sales_logs_import_service.rb b/app/services/imports/sales_logs_import_service.rb index 4de0ad006..d39a01898 100644 --- a/app/services/imports/sales_logs_import_service.rb +++ b/app/services/imports/sales_logs_import_service.rb @@ -399,6 +399,7 @@ module Imports def set_default_values(attributes) attributes["mscharge_known"] ||= 0 if attributes["ownershipsch"] == 3 attributes["armedforcesspouse"] ||= 7 + attributes["savingsnk"] ||= attributes["savings"].present? ? 0 : 1 end end end diff --git a/spec/services/imports/sales_logs_import_service_spec.rb b/spec/services/imports/sales_logs_import_service_spec.rb index 68829e26f..f0ee34bda 100644 --- a/spec/services/imports/sales_logs_import_service_spec.rb +++ b/spec/services/imports/sales_logs_import_service_spec.rb @@ -15,7 +15,7 @@ RSpec.describe Imports::SalesLogsImportService do let(:shared_ownership_sales_log_id2) { "166fc004-392e-47a8-acb8-1c018734882b" } let(:outright_sale_sales_log_id) { "00d2343e-d5fa-4c89-8400-ec3854b0f2b4" } let(:discounted_ownership_sales_log_id) { "0b4a68df-30cc-474a-93c0-a56ce8fdad3b" } - + def open_file(directory, filename) File.open("#{directory}/#{filename}.xml") end @@ -166,6 +166,39 @@ RSpec.describe Imports::SalesLogsImportService do end end + context "when the savings not known is not answered and savings is not given" do + let(:sales_log_id) { discounted_ownership_sales_log_id } + + before do + sales_log_xml.at_xpath("//xmlns:savingsKnown").content = "" + allow(logger).to receive(:warn).and_return(nil) + end + + it "sets savingsnk to not know" do + sales_log_service.send(:create_log, sales_log_xml) + + sales_log = SalesLog.find_by(old_id: sales_log_id) + expect(sales_log&.savingsnk).to be(1) + end + end + + context "when the savings not known is not answered and savings is given" do + let(:sales_log_id) { discounted_ownership_sales_log_id } + + before do + sales_log_xml.at_xpath("//xmlns:Q3Savings").content = "10000" + sales_log_xml.at_xpath("//xmlns:savingsKnown").content = "" + allow(logger).to receive(:warn).and_return(nil) + end + + it "sets savingsnk to know" do + sales_log_service.send(:create_log, sales_log_xml) + + sales_log = SalesLog.find_by(old_id: sales_log_id) + expect(sales_log&.savingsnk).to be(0) + end + end + context "with shared ownership type" do let(:sales_log_id) { shared_ownership_sales_log_id }