From e671e1d493f578f0b2977ff8aa63bbb55cce9a07 Mon Sep 17 00:00:00 2001 From: Kat Date: Mon, 6 Mar 2023 17:18:11 +0000 Subject: [PATCH] Set soft validations to confirmed --- .../imports/sales_logs_import_service.rb | 6 ++ .../shared_ownership_sales_log3.xml | 2 +- .../imports/sales_logs_import_service_spec.rb | 59 +++++++++++++++++++ 3 files changed, 66 insertions(+), 1 deletion(-) diff --git a/app/services/imports/sales_logs_import_service.rb b/app/services/imports/sales_logs_import_service.rb index 4c49f0037..44fc9d8d5 100644 --- a/app/services/imports/sales_logs_import_service.rb +++ b/app/services/imports/sales_logs_import_service.rb @@ -137,6 +137,12 @@ module Imports attributes["is_la_inferred"] = false end + # Soft validations can become required answers, set them to yes by default + attributes["mortgage_value_check"] = 0 + attributes["shared_ownership_deposit_value_check"] = 0 + attributes["value_value_check"] = 0 + attributes["savings_value_check"] = 0 + # Sets the log creator owner_id = meta_field_value(xml_doc, "owner-user-id").strip if owner_id.present? diff --git a/spec/fixtures/imports/sales_logs/shared_ownership_sales_log3.xml b/spec/fixtures/imports/sales_logs/shared_ownership_sales_log3.xml index b5dabde97..a2f124032 100644 --- a/spec/fixtures/imports/sales_logs/shared_ownership_sales_log3.xml +++ b/spec/fixtures/imports/sales_logs/shared_ownership_sales_log3.xml @@ -144,7 +144,7 @@ 0 0 0 - 76000 + 1 47000 0 diff --git a/spec/services/imports/sales_logs_import_service_spec.rb b/spec/services/imports/sales_logs_import_service_spec.rb index 056d492de..3b4ff7bfa 100644 --- a/spec/services/imports/sales_logs_import_service_spec.rb +++ b/spec/services/imports/sales_logs_import_service_spec.rb @@ -203,6 +203,65 @@ RSpec.describe Imports::SalesLogsImportService do end end + context "and the mortgage soft validation is triggered (mortgage_value_check)" do + let(:sales_log_id) { "discounted_ownership_sales_log" } + + before do + sales_log_xml.at_xpath("//xmlns:Q2Person1Income").content = "10" + end + + it "completes the log" do + sales_log_service.send(:create_log, sales_log_xml) + sales_log = SalesLog.find_by(old_id: sales_log_id) + expect(sales_log.status).to eq("completed") + end + end + + context "and the shared ownership deposit soft validation is triggered (shared_ownership_deposit_value_check)" do + let(:sales_log_id) { "shared_ownership_sales_log" } + + before do + sales_log_xml.at_xpath("//xmlns:DerSaleType").content = "2" + sales_log_xml.at_xpath("//xmlns:CALCMORT").content = "275000" + end + + it "completes the log" do + sales_log_service.send(:create_log, sales_log_xml) + sales_log = SalesLog.find_by(old_id: sales_log_id) + expect(sales_log.status).to eq("completed") + end + end + + context "and the purchase price soft validation is triggered (value_value_check)" do + let(:sales_log_id) { "shared_ownership_sales_log" } + + before do + LaSaleRange.create!(la: "E09000033", bedrooms: 2, soft_min: 177_000, soft_max: 384_000, start_year: 2022) + sales_log_xml.at_xpath("//xmlns:Q22PurchasePrice").content = "2750" + sales_log_xml.at_xpath("//xmlns:CALCMORT").content = "2750" + end + + it "completes the log" do + sales_log_service.send(:create_log, sales_log_xml) + sales_log = SalesLog.find_by(old_id: sales_log_id) + expect(sales_log.status).to eq("completed") + end + end + + context "and the savings soft validation is triggered (savings_value_check)" do + let(:sales_log_id) { "shared_ownership_sales_log" } + + before do + sales_log_xml.at_xpath("//xmlns:Q3Savings").content = "200750" + end + + it "completes the log" do + sales_log_service.send(:create_log, sales_log_xml) + sales_log = SalesLog.find_by(old_id: sales_log_id) + expect(sales_log.status).to eq("completed") + end + end + context "when inferring default answers for completed sales logs" do context "when the armedforcesspouse is not answered" do let(:sales_log_id) { "discounted_ownership_sales_log" }