diff --git a/app/models/form/page.rb b/app/models/form/page.rb index 33e944eed..617f570cb 100644 --- a/app/models/form/page.rb +++ b/app/models/form/page.rb @@ -2,7 +2,7 @@ class Form::Page attr_accessor :id, :header, :header_partial, :description, :questions, :depends_on, :title_text, :informative_text, :subsection, :hide_subsection_label, :next_unresolved_page_id - def initialize(id, hsh, subsection) + def initialize(id, hsh, subsection, _dynamic_values = {}) @id = id @subsection = subsection if hsh diff --git a/app/models/form/sales/pages/mortgage_value_check.rb b/app/models/form/sales/pages/mortgage_value_check.rb index 0495f4f4f..9bdbf84b4 100644 --- a/app/models/form/sales/pages/mortgage_value_check.rb +++ b/app/models/form/sales/pages/mortgage_value_check.rb @@ -1,7 +1,7 @@ class Form::Sales::Pages::MortgageValueCheck < ::Form::Page - def initialize(id, hsh, subsection) + def initialize(id, hsh, subsection, dynamic_values) super - @id = "mortgage_value_check" + @id = "#{dynamic_values.present? ? dynamic_values[:id_prefix] : ''}mortgage_value_check" @header = "" @description = "" @subsection = subsection 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 447aba589..465d1ed15 100644 --- a/app/models/form/sales/subsections/income_benefits_and_savings.rb +++ b/app/models/form/sales/subsections/income_benefits_and_savings.rb @@ -11,9 +11,11 @@ class Form::Sales::Subsections::IncomeBenefitsAndSavings < ::Form::Subsection @pages ||= [ Form::Sales::Pages::Buyer1Income.new(nil, nil, self), Form::Sales::Pages::Buyer1IncomeValueCheck.new(nil, nil, self), + Form::Sales::Pages::MortgageValueCheck.new(nil, nil, self, { id_prefix: "buyer_1_income_" }), Form::Sales::Pages::Buyer1Mortgage.new(nil, nil, self), + Form::Sales::Pages::MortgageValueCheck.new(nil, nil, self, { id_prefix: "buyer_1_" }), Form::Sales::Pages::Buyer2Income.new(nil, nil, self), - Form::Sales::Pages::MortgageValueCheck.new(nil, nil, self), + Form::Sales::Pages::MortgageValueCheck.new(nil, nil, self, { id_prefix: "buyer_2_income_" }), Form::Sales::Pages::Savings.new(nil, nil, self), Form::Sales::Pages::PreviousOwnership.new(nil, 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 4083df07b..74a63db8b 100644 --- a/spec/models/form/sales/pages/mortgage_value_check_spec.rb +++ b/spec/models/form/sales/pages/mortgage_value_check_spec.rb @@ -1,7 +1,7 @@ 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, { id_prefix: "buyer_1_income_" }) } let(:page_id) { nil } let(:page_definition) { nil } @@ -16,7 +16,7 @@ RSpec.describe Form::Sales::Pages::MortgageValueCheck, type: :model do end it "has the correct id" do - expect(page.id).to eq("mortgage_value_check") + expect(page.id).to eq("buyer_1_income_mortgage_value_check") end it "has the correct header" do diff --git a/spec/models/form/sales/subsections/income_benefits_and_savings_spec.rb b/spec/models/form/sales/subsections/income_benefits_and_savings_spec.rb index 86af4c67a..c7e2c7606 100644 --- a/spec/models/form/sales/subsections/income_benefits_and_savings_spec.rb +++ b/spec/models/form/sales/subsections/income_benefits_and_savings_spec.rb @@ -16,9 +16,11 @@ RSpec.describe Form::Sales::Subsections::IncomeBenefitsAndSavings, type: :model %w[ buyer_1_income buyer_1_income_value_check + buyer_1_income_mortgage_value_check buyer_1_mortgage + buyer_1_mortgage_value_check buyer_2_income - mortgage_value_check + buyer_2_income_mortgage_value_check savings previous_ownership ], diff --git a/spec/models/form_handler_spec.rb b/spec/models/form_handler_spec.rb index 0f1cdc5da..0bd0c1c68 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(53) + expect(form.pages.count).to eq(55) 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(53) + expect(form.pages.count).to eq(55) expect(form.name).to eq("2021_2022_sales") end end