From 1bfb0b5d922dd0eab929857b71c9047343726e4a Mon Sep 17 00:00:00 2001 From: Kat Date: Tue, 31 Jan 2023 10:46:48 +0000 Subject: [PATCH] only show buyer 2 checks if it's a jjoint purchase --- .../form/sales/pages/mortgage_value_check.rb | 28 ++++++++++++++----- .../income_benefits_and_savings.rb | 8 +++--- .../sales/pages/mortgage_value_check_spec.rb | 16 ++++++++++- 3 files changed, 40 insertions(+), 12 deletions(-) diff --git a/app/models/form/sales/pages/mortgage_value_check.rb b/app/models/form/sales/pages/mortgage_value_check.rb index 954b50872..b534f7fc5 100644 --- a/app/models/form/sales/pages/mortgage_value_check.rb +++ b/app/models/form/sales/pages/mortgage_value_check.rb @@ -1,12 +1,9 @@ class Form::Sales::Pages::MortgageValueCheck < ::Form::Page - def initialize(id, hsh, subsection) - super - @depends_on = [ - { - "mortgage_over_soft_max?" => true, - }, - ] + def initialize(id, hsh, subsection, person_index = nil) + super(id, hsh, subsection) + @depends_on = depends_on @informative_text = {} + @person_index = person_index end def questions @@ -14,4 +11,21 @@ class Form::Sales::Pages::MortgageValueCheck < ::Form::Page Form::Sales::Questions::MortgageValueCheck.new(nil, nil, self), ] end + + def depends_on + if @person_index == 2 + [ + { + "mortgage_over_soft_max?" => true, + "jointpur" => 1, + }, + ] + else + [ + { + "mortgage_over_soft_max?" => true, + }, + ] + end + end end diff --git a/app/models/form/sales/subsections/income_benefits_and_savings.rb b/app/models/form/sales/subsections/income_benefits_and_savings.rb index e2eb32b08..2df8a929b 100644 --- a/app/models/form/sales/subsections/income_benefits_and_savings.rb +++ b/app/models/form/sales/subsections/income_benefits_and_savings.rb @@ -10,13 +10,13 @@ class Form::Sales::Subsections::IncomeBenefitsAndSavings < ::Form::Subsection @pages ||= [ Form::Sales::Pages::Buyer1Income.new(nil, nil, self), Form::Sales::Pages::Buyer1IncomeValueCheck.new("buyer_1_income_value_check", nil, self), - Form::Sales::Pages::MortgageValueCheck.new("buyer_1_income_mortgage_value_check", nil, self), + Form::Sales::Pages::MortgageValueCheck.new("buyer_1_income_mortgage_value_check", nil, self, 1), Form::Sales::Pages::Buyer1Mortgage.new(nil, nil, self), - Form::Sales::Pages::MortgageValueCheck.new("buyer_1_mortgage_value_check", nil, self), + Form::Sales::Pages::MortgageValueCheck.new("buyer_1_mortgage_value_check", nil, self, 1), Form::Sales::Pages::Buyer2Income.new(nil, nil, self), - Form::Sales::Pages::MortgageValueCheck.new("buyer_2_income_mortgage_value_check", nil, self), + Form::Sales::Pages::MortgageValueCheck.new("buyer_2_income_mortgage_value_check", nil, self, 2), Form::Sales::Pages::Buyer2Mortgage.new(nil, nil, self), - Form::Sales::Pages::MortgageValueCheck.new("buyer_2_mortgage_value_check", nil, self), + Form::Sales::Pages::MortgageValueCheck.new("buyer_2_mortgage_value_check", nil, self, 2), Form::Sales::Pages::HousingBenefits.new(nil, nil, self), Form::Sales::Pages::Savings.new(nil, nil, self), Form::Sales::Pages::SavingsValueCheck.new("savings_value_check", nil, self), diff --git a/spec/models/form/sales/pages/mortgage_value_check_spec.rb b/spec/models/form/sales/pages/mortgage_value_check_spec.rb index d54e992f1..38e7239c3 100644 --- a/spec/models/form/sales/pages/mortgage_value_check_spec.rb +++ b/spec/models/form/sales/pages/mortgage_value_check_spec.rb @@ -1,10 +1,11 @@ require "rails_helper" RSpec.describe Form::Sales::Pages::MortgageValueCheck, type: :model do - subject(:page) { described_class.new(page_id, page_definition, subsection) } + subject(:page) { described_class.new(page_id, page_definition, subsection, index) } let(:page_id) { "buyer_1_income_mortgage_value_check" } let(:page_definition) { nil } + let(:index) { 1 } let(:subsection) { instance_double(Form::Subsection) } it "has correct subsection" do @@ -34,4 +35,17 @@ RSpec.describe Form::Sales::Pages::MortgageValueCheck, type: :model do }, ]) end + + context "when checking buyer 2" do + let(:index) { 2 } + + it "has correct depends_on" do + expect(page.depends_on).to eq([ + { + "mortgage_over_soft_max?" => true, + "jointpur" => 1, + }, + ]) + end + end end