Browse Source

Update discounted ownership guidance

pull/2574/head
Kat 2 years ago
parent
commit
a726428a0d
  1. 37
      app/views/form/guidance/_financial_calculations_discounted_ownership.html.erb
  2. 85
      spec/views/form/guidance/_financial_calculations_discounted_ownership_spec.rb

37
app/views/form/guidance/_financial_calculations_discounted_ownership.html.erb

@ -2,19 +2,28 @@
<% grant_question_link = question_link("grant", log, current_user) %>
<% value_question_link = question_link("value", log, current_user) %>
<%= govuk_details(summary_text: "How the financial values are calculated") do %>
<p class="govuk-body">
The mortgage amount <%= question_link("mortgage", log, current_user) %>
<% if grant_question_link.blank? %>
and cash deposit <%= question_link("deposit", log, current_user) %>
<% else %>
cash deposit <%= question_link("deposit", log, current_user) %>
and grant <%= grant_question_link %>
<% end %>
added together must equal
the purchase price <%= value_question_link %>
<% if discount_question_link.present? %>
subtracted by the sum of the purchase price <%= value_question_link %>
multiplied by the discount <%= discount_question_link %>
<% end %>
<p class="govuk-body">
<% 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 %><% if grant_question_link.blank? %>
and cash deposit <%= question_link("deposit", log, current_user) %>
<% else %>, cash deposit <%= question_link("deposit", log, current_user) %>
and grant <%= grant_question_link %>
<% end %>
added together must equal
<% else %>
<% if grant_question_link.blank? %>
Cash deposit <%= question_link("deposit", log, current_user) %> must equal
<% else %>
Cash deposit <%= question_link("deposit", log, current_user) %>
and grant <%= grant_question_link %>
added together must equal
<% end %>
<% end %>
the purchase price <%= value_question_link %>
<% if discount_question_link.present? %>
subtracted by the sum of the purchase price <%= value_question_link %>
multiplied by the discount <%= discount_question_link %>
<% end %>
</p>
<% end %>

85
spec/views/form/guidance/_financial_calculations_discounted_ownership_spec.rb

@ -0,0 +1,85 @@
require "rails_helper"
RSpec.describe "form/guidance/_financial_calculations_discounted_ownership.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, :completed, ownershipsch: 2, type: 9, mortgageused: nil, discount: 30) }
it "renders correct content" do
render partial: "form/guidance/financial_calculations_discounted_ownership", 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")
expect(fragment).to have_content("subtracted by the sum of the purchase price")
expect(fragment).to have_content("multiplied by the discount")
end
end
context "when mortgage used is no" do
let(:log) { create(:sales_log, :completed, ownershipsch: 2, type: 9, mortgageused: 2, discount: nil) }
it "renders correct content" do
render partial: "form/guidance/financial_calculations_discounted_ownership", 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).to have_content("subtracted by the sum of the purchase price")
expect(fragment).to have_content("multiplied by the discount")
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, :completed, ownershipsch: 2, type: 9, mortgageused: 1, mortgage: nil, discount: 30) }
it "renders correct content" do
render partial: "form/guidance/financial_calculations_discounted_ownership", 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")
expect(fragment).to have_content("subtracted by the sum of the purchase price")
expect(fragment).to have_content("multiplied by the discount")
end
end
context "when grant is routed to" do
context "and morgage used" do
let(:log) { create(:sales_log, :completed, ownershipsch: 2, type: 22, mortgageused: 1, mortgage: nil, discount: 30) }
it "renders correct content" do
render partial: "form/guidance/financial_calculations_discounted_ownership", locals: { log:, current_user: log.assigned_to }
expect(fragment).to have_content("The mortgage amount")
expect(fragment).to have_content("cash deposit")
expect(fragment).to have_content("and grant")
expect(fragment).to have_content("added together must equal")
expect(fragment).to have_content("the purchase price")
expect(fragment).not_to have_content("subtracted by the sum of the purchase price")
expect(fragment).not_to have_content("multiplied by the discount")
end
end
context "and morgage not used" do
let(:log) { create(:sales_log, :completed, ownershipsch: 2, type: 22, mortgageused: 2, grant: nil) }
it "renders correct content" do
render partial: "form/guidance/financial_calculations_discounted_ownership", locals: { log:, current_user: log.assigned_to }
expect(fragment).to have_content("Cash deposit")
expect(fragment).to have_content("and grant")
expect(fragment).to have_content("added together 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("subtracted by the sum of the purchase price")
expect(fragment).not_to have_content("multiplied by the discount")
end
end
end
end
Loading…
Cancel
Save