From e9f59ed7fe53c9baa0c428fae6f191693b401af5 Mon Sep 17 00:00:00 2001 From: Kat Date: Thu, 26 Jan 2023 15:21:56 +0000 Subject: [PATCH] Run the mortgage amount validation on non joint purchases as well --- app/models/validations/sales/soft_validations.rb | 2 +- spec/models/form_handler_spec.rb | 4 ++-- .../validations/sales/soft_validations_spec.rb | 16 ++++++++++++++-- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/app/models/validations/sales/soft_validations.rb b/app/models/validations/sales/soft_validations.rb index b60c9912c..e7b170e89 100644 --- a/app/models/validations/sales/soft_validations.rb +++ b/app/models/validations/sales/soft_validations.rb @@ -18,7 +18,7 @@ module Validations::Sales::SoftValidations end def mortgage_over_soft_max? - return false unless mortgage && inc1mort && inc2mort + return false unless mortgage && inc1mort && (inc2mort || not_joint_purchase?) return false if income1_used_for_mortgage? && income1.blank? || income2_used_for_mortgage? && income2.blank? income_used_for_mortgage = (income1_used_for_mortgage? ? income1 : 0) + (income2_used_for_mortgage? ? income2 : 0) diff --git a/spec/models/form_handler_spec.rb b/spec/models/form_handler_spec.rb index ae005a209..627eb846a 100644 --- a/spec/models/form_handler_spec.rb +++ b/spec/models/form_handler_spec.rb @@ -52,14 +52,14 @@ RSpec.describe FormHandler do it "is able to load a current sales form" do form = form_handler.get_form("current_sales") expect(form).to be_a(Form) - expect(form.pages.count).to eq(203) + expect(form.pages.count).to eq(205) expect(form.name).to eq("2022_2023_sales") end it "is able to load a previous sales form" do form = form_handler.get_form("previous_sales") expect(form).to be_a(Form) - expect(form.pages.count).to eq(203) + expect(form.pages.count).to eq(205) expect(form.name).to eq("2021_2022_sales") end end diff --git a/spec/models/validations/sales/soft_validations_spec.rb b/spec/models/validations/sales/soft_validations_spec.rb index 40e658c73..8124931dd 100644 --- a/spec/models/validations/sales/soft_validations_spec.rb +++ b/spec/models/validations/sales/soft_validations_spec.rb @@ -102,14 +102,26 @@ RSpec.describe Validations::Sales::SoftValidations do .not_to be_mortgage_over_soft_max end - it "returns false if no inc2mort is given" do - record.inc1mort = 2 + it "returns false if no inc2mort is given and it's a joint purchase" do + record.jointpur = 1 + record.inc1mort = 1 + record.income1 = 10 record.inc2mort = nil record.mortgage = 20_000 expect(record) .not_to be_mortgage_over_soft_max end + it "returns true if no inc2mort is given and it's not a joint purchase" do + record.jointpur = 2 + record.inc1mort = 1 + record.income1 = 10 + record.inc2mort = nil + record.mortgage = 20_000 + expect(record) + .to be_mortgage_over_soft_max + end + it "returns false if no income1 is given and inc1mort is yes" do record.inc1mort = 1 record.inc2mort = 2