diff --git a/app/models/form/sales/questions/mortgageused.rb b/app/models/form/sales/questions/mortgageused.rb index acc425a77..4ece2544e 100644 --- a/app/models/form/sales/questions/mortgageused.rb +++ b/app/models/form/sales/questions/mortgageused.rb @@ -39,5 +39,6 @@ class Form::Sales::Questions::Mortgageused < ::Form::Question def top_guidance_partial return "financial_calculations_shared_ownership" if @ownershipsch == 1 return "financial_calculations_discounted_ownership" if @ownershipsch == 2 + return "financial_calculations_outright_sale" if @ownershipsch == 3 end end diff --git a/app/views/form/guidance/_financial_calculations_outright_sale.html.erb b/app/views/form/guidance/_financial_calculations_outright_sale.html.erb index bd57bd63c..ae5ebd50f 100644 --- a/app/views/form/guidance/_financial_calculations_outright_sale.html.erb +++ b/app/views/form/guidance/_financial_calculations_outright_sale.html.erb @@ -1,8 +1,13 @@ <%= govuk_details(summary_text: "How the financial values are calculated") do %>
- The mortgage amount <%= question_link("mortgage", log, current_user) %> - and cash deposit <%= question_link("deposit", log, current_user) %> - added together must equal - the purchase price <%= question_link("value", log, current_user) %> -
+ <% if log.mortgage_used? || log.mortgageused.blank? %> + <% mortgage_question_link = log.mortgageused.blank? ? question_link("mortgageused", log, current_user) : question_link("mortgage", log, current_user) %> + The mortgage amount <%= mortgage_question_link %> + and cash deposit <%= question_link("deposit", log, current_user) %> + added together must equal + <% else %> + Cash deposit <%= question_link("deposit", log, current_user) %> must equal + <% end %> + the purchase price <%= question_link("value", log, current_user) %> + <% end %> diff --git a/spec/views/form/guidance/_financial_calculations_outright_sale_spec.rb b/spec/views/form/guidance/_financial_calculations_outright_sale_spec.rb new file mode 100644 index 000000000..343239e80 --- /dev/null +++ b/spec/views/form/guidance/_financial_calculations_outright_sale_spec.rb @@ -0,0 +1,45 @@ +require "rails_helper" + +RSpec.describe "form/guidance/_financial_calculations_outright_sale.html.erb" do + let(:log) { create(:sales_log) } + + let(:fragment) { Capybara::Node::Simple.new(rendered) } + + context "when mortgage used is not answered" do + let(:log) { create(:sales_log, :outright_sale_setup_complete, ownershipsch: 3, type: 10, mortgageused: nil, discount: 30) } + + it "renders correct content" do + render partial: "form/guidance/financial_calculations_outright_sale", locals: { log:, current_user: log.assigned_to } + expect(fragment).to have_content("The mortgage amount") + expect(fragment).to have_content("and cash deposit") + expect(fragment).to have_content("added together must equal") + expect(fragment).to have_content("the purchase price") + end + end + + context "when mortgage used is no" do + let(:log) { create(:sales_log, :outright_sale_setup_complete, ownershipsch: 3, type: 10, mortgageused: 2, discount: nil) } + + it "renders correct content" do + render partial: "form/guidance/financial_calculations_outright_sale", locals: { log:, current_user: log.assigned_to } + expect(fragment).to have_content("Cash deposit") + expect(fragment).to have_content("must equal") + expect(fragment).to have_content("the purchase price") + + expect(fragment).not_to have_content("The mortgage amount") + expect(fragment).not_to have_content("added together must equal") + end + end + + context "when mortgage used is yes" do + let(:log) { create(:sales_log, :outright_sale_setup_complete, ownershipsch: 3, type: 10, mortgageused: 1, mortgage: nil, discount: 30) } + + it "renders correct content" do + render partial: "form/guidance/financial_calculations_outright_sale", locals: { log:, current_user: log.assigned_to } + expect(fragment).to have_content("The mortgage amount") + expect(fragment).to have_content("and cash deposit") + expect(fragment).to have_content("added together must equal") + expect(fragment).to have_content("the purchase price") + end + end +end